/* 《万千》共享系统控件：C03 轻提示、C13/C14 通用弹窗、C16 结果反馈、C20 系统页底部操作栏、C104 全屏奖励获得层。 */
:root {
  --wqxt-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, serif;
  --wqxt-sans: "PingFang SC", "Microsoft YaHei", sans-serif;
  --wqxt-mono: "DM Mono", "SFMono-Regular", Consolas, monospace;
  --wqxt-control-text: #f2eee7;
  --wqxt-control-soft: rgba(242, 238, 231, .66);
  --wqxt-control-line: rgba(242, 238, 231, .18);
  --wqxt-control-line-strong: rgba(242, 238, 231, .3);
  --wqxt-control-gold: #ffd479;
  --wqxt-control-mint: #5eead4;
  --wqxt-control-info: #9cc8f2;
  --wqxt-control-danger: #ff8e9c;
}

wqxt-dialog,
wqxt-toast-region,
wqxt-reward-reveal,
wqxt-system-action-bar { box-sizing: border-box; }

/* C13 / C14 */
wqxt-dialog {
  position: fixed;
  inset: 0;
  z-index: var(--wqxt-dialog-z, 80);
  display: grid;
  place-items: center;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  color: var(--wqxt-dialog-text, var(--wqxt-control-text));
}
wqxt-dialog[hidden] { display: none !important; }
.wqxt-dialog__scrim {
  position: absolute;
  inset: 0;
  background: var(--wqxt-dialog-scrim, rgba(1, 3, 6, .8));
  backdrop-filter: blur(var(--wqxt-dialog-blur, 8px));
}
.wqxt-dialog__surface {
  position: relative;
  width: min(var(--wqxt-dialog-width, 600px), calc(100vw - 32px));
  max-height: min(var(--wqxt-dialog-max-height, 760px), calc(100dvh - 32px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--wqxt-dialog-line, var(--wqxt-control-line-strong));
  border-radius: var(--wqxt-dialog-radius, 6px);
  background: var(--wqxt-dialog-background, linear-gradient(145deg, rgba(17, 24, 32, .99), rgba(7, 10, 16, .99)));
  box-shadow: 0 30px 110px rgba(0, 0, 0, .78);
  transform-origin: center;
  animation: wqxt-dialog-in 180ms ease-out both;
}
.wqxt-dialog__header {
  position: relative;
  min-height: 60px;
  padding: 16px 60px 12px;
  display: grid;
  place-items: center;
}
.wqxt-dialog__title {
  margin: 0;
  color: inherit;
  font: 600 18px/1.3 var(--wqxt-serif);
  text-align: center;
  letter-spacing: .04em;
}
.wqxt-dialog__title:focus { outline: none; }
.wqxt-dialog__close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--wqxt-dialog-soft, var(--wqxt-control-soft));
  font: 300 28px/1 var(--wqxt-sans);
  cursor: pointer;
}
.wqxt-dialog__close:hover { color: var(--wqxt-dialog-text, var(--wqxt-control-text)); }
.wqxt-dialog__close:focus-visible { outline: 2px solid var(--wqxt-dialog-focus, var(--wqxt-control-gold)); outline-offset: -4px; }
.wqxt-dialog__body {
  min-height: 0;
  padding: 0 24px 24px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  color: var(--wqxt-dialog-soft, var(--wqxt-control-soft));
  font: 400 14px/1.7 var(--wqxt-serif);
}
.wqxt-dialog__actions:empty { display: none; }
.wqxt-dialog__body:focus-visible { outline: 2px solid var(--wqxt-dialog-focus, var(--wqxt-control-gold)); outline-offset: -4px; }
.wqxt-dialog__actions {
  min-height: 68px;
  padding: 12px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-top: 1px solid var(--wqxt-dialog-line, var(--wqxt-control-line));
}
.wqxt-dialog__actions > button,
.wqxt-dialog__actions > a {
  min-width: 128px;
  min-height: 44px;
  border-radius: 6px;
  font: 600 14px/1 var(--wqxt-serif);
}
.wqxt-dialog__actions > [data-tone="primary"] {
  border: 1px solid var(--wqxt-dialog-primary-line, #9e8754);
  background: var(--wqxt-dialog-primary-background, linear-gradient(135deg, rgba(110, 90, 49, .72), rgba(61, 51, 31, .86)));
  color: var(--wqxt-dialog-primary-text, #fff3ce);
}
.wqxt-dialog__actions > [data-tone="danger"] {
  border: 1px solid color-mix(in srgb, var(--wqxt-control-danger) 58%, transparent);
  background: rgba(255, 142, 156, .08);
  color: var(--wqxt-control-danger);
}
.wqxt-dialog__actions > [data-tone="secondary"] {
  border: 1px solid var(--wqxt-dialog-line, var(--wqxt-control-line));
  background: rgba(255, 255, 255, .025);
  color: var(--wqxt-dialog-text, var(--wqxt-control-text));
}
.wqxt-dialog__actions > button:focus-visible,
.wqxt-dialog__actions > a:focus-visible { outline: 2px solid var(--wqxt-dialog-focus, var(--wqxt-control-gold)); outline-offset: 2px; }
wqxt-dialog[variant="confirm"] { --wqxt-dialog-width: 390px; }
wqxt-dialog[variant="purchase"] { --wqxt-dialog-width: 480px; }
wqxt-dialog[variant="result"] { --wqxt-dialog-width: 420px; }
wqxt-dialog[variant="result"] .wqxt-dialog__surface { border-color: color-mix(in srgb, var(--wqxt-control-gold) 48%, transparent); }
wqxt-dialog[variant="result"] .wqxt-dialog__header { min-height: 52px; padding-bottom: 4px; }
wqxt-dialog[variant="result"] .wqxt-dialog__close { display: none; }
wqxt-dialog[variant="result"] .wqxt-dialog__body { padding: 0 26px 22px; overflow: visible; }
wqxt-dialog[variant="result"] .wqxt-dialog__actions { min-height: 70px; }
wqxt-dialog[variant="result"] .wqxt-dialog__actions > button { min-width: 180px; }
.wqxt-result { display: grid; justify-items: center; gap: 12px; text-align: center; }
.wqxt-result__icon, .wqxt-result__mark { width: 62px; height: 62px; display: grid; place-items: center; color: var(--wqxt-control-gold); }
.wqxt-result__icon { fill: none; stroke: currentColor; stroke-width: 1.4; }
.wqxt-result__mark { border: 1px solid color-mix(in srgb, var(--wqxt-control-gold) 55%, transparent); border-radius: 50%; font: 400 28px/1 var(--wqxt-serif); }
.wqxt-result p { max-width: 320px; margin: 0; }
.wqxt-result strong { color: var(--wqxt-control-gold); font: 600 13px/1.3 var(--wqxt-mono); letter-spacing: .04em; }

/* C03 */
wqxt-toast-region {
  position: fixed;
  z-index: var(--wqxt-toast-z, 100);
  top: var(--wqxt-toast-top, calc(max(64px, env(safe-area-inset-top)) + 8px));
  left: 50%;
  width: min(340px, calc(100vw - 32px));
  pointer-events: none;
  transform: translateX(-50%);
}
.wqxt-toast {
  width: 100%;
  min-height: 58px;
  padding: 10px 16px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--wqxt-toast-line, var(--wqxt-control-line-strong));
  border-radius: 6px;
  background: var(--wqxt-toast-background, rgba(12, 12, 17, .97));
  box-shadow: 0 14px 44px rgba(0, 0, 0, .5);
  color: var(--wqxt-toast-text, var(--wqxt-control-text));
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 160ms ease, transform 160ms ease;
}
.wqxt-toast.is-visible { opacity: 1; transform: translateY(0); }
.wqxt-toast__icon { width: 24px; height: 24px; fill: none; stroke: var(--wqxt-toast-accent, var(--wqxt-control-info)); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.wqxt-toast[data-tone="info"] { --wqxt-toast-accent: var(--wqxt-control-info); }
.wqxt-toast[data-tone="success"] { --wqxt-toast-accent: var(--wqxt-control-mint); }
.wqxt-toast[data-tone="error"] { --wqxt-toast-accent: var(--wqxt-control-danger); }
.wqxt-toast[data-tone="warning"] { --wqxt-toast-accent: var(--wqxt-control-gold); }
.wqxt-toast__copy { min-width: 0; display: grid; justify-items: center; gap: 4px; text-align: center; }
.wqxt-toast__copy strong { font: 600 13px/1.2 var(--wqxt-serif); }
.wqxt-toast__copy small { color: var(--wqxt-toast-soft, var(--wqxt-control-soft)); font: 400 10px/1.4 var(--wqxt-sans); }

/* C104 */
wqxt-reward-reveal {
  position: fixed;
  inset: 0;
  z-index: var(--wqxt-reward-z, 110);
  display: block;
  color: var(--wqxt-reward-text, var(--wqxt-control-text));
}
wqxt-reward-reveal[hidden] { display: none !important; }
.wqxt-reward-reveal__backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 43%, var(--wqxt-reward-glow, rgba(178, 205, 220, .2)), transparent 37%),
    linear-gradient(180deg, rgba(3, 7, 12, .9), rgba(5, 7, 11, .97));
  backdrop-filter: blur(var(--wqxt-reward-blur, 14px));
}
.wqxt-reward-reveal__backdrop::before,
.wqxt-reward-reveal__backdrop::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 28%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--wqxt-reward-line, rgba(255, 255, 255, .22)), transparent);
  box-shadow: 0 82px 80px rgba(151, 184, 202, .12);
}
.wqxt-reward-reveal__backdrop::after { top: auto; bottom: 18%; opacity: .45; }
.wqxt-reward-reveal__stage {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: max(22px, env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  animation: wqxt-reward-stage-in 240ms ease-out both;
}
.wqxt-reward-reveal__heading {
  display: grid;
  justify-items: center;
  align-content: end;
  gap: 4px;
  padding-top: clamp(0px, 5dvh, 56px);
  text-align: center;
}
.wqxt-reward-reveal__heading span { color: var(--wqxt-reward-accent, #e9d49f); font: 500 9px/1.2 var(--wqxt-mono); letter-spacing: .28em; }
.wqxt-reward-reveal__title { margin: 0; font: 500 clamp(28px, 3.5vw, 48px)/1.18 var(--wqxt-serif); letter-spacing: .1em; text-shadow: 0 0 28px rgba(255, 255, 255, .3); }
.wqxt-reward-reveal__title:focus { outline: none; }
.wqxt-reward-reveal__deck {
  --wqxt-reward-card-width: 112px;
  min-height: 0;
  align-self: center;
  justify-self: center;
  display: grid;
  gap: clamp(12px, 1.5vw, 22px);
  align-items: start;
}
.wqxt-reward-reveal__deck.is-single-row { grid-template-columns: repeat(var(--wqxt-reward-page-count), var(--wqxt-reward-card-width)); justify-content: center; }
.wqxt-reward-reveal__deck.is-double-row { width: max-content; max-width: 100%; grid-template-columns: repeat(5, var(--wqxt-reward-card-width)); justify-content: start; }
.wqxt-reward-reveal__deck > wqxt-item-frame { --wqxt-item-text: var(--wqxt-reward-text, var(--wqxt-control-text)); }
.wqxt-reward-reveal__footer { min-height: 58px; display: grid; justify-items: center; align-content: end; gap: 8px; }
.wqxt-reward-reveal__pager { display: flex; align-items: center; justify-content: center; gap: 8px; }
.wqxt-reward-reveal__pager[hidden] { display: none; }
.wqxt-reward-reveal__pager button { width: 44px; height: 44px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 0; background: transparent; color: inherit; font-size: 0; cursor: pointer; }
.wqxt-reward-reveal__pager button::before { content: ""; width: 10px; height: 10px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.wqxt-reward-reveal__pager button[data-reward-prev]::before { transform: rotate(-135deg); }
.wqxt-reward-reveal__pager button:disabled { opacity: .28; cursor: default; }
.wqxt-reward-reveal__pager button:focus-visible { outline: 2px solid var(--wqxt-reward-accent, #e9d49f); outline-offset: 2px; }
.wqxt-reward-reveal__pager b { min-width: 32px; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 7px; }
.wqxt-reward-reveal__page-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--wqxt-reward-soft, var(--wqxt-control-soft)); opacity: .42; transition: width 160ms ease, opacity 160ms ease, background-color 160ms ease; }
.wqxt-reward-reveal__page-dot[data-active] { width: 12px; border-radius: 999px; background: var(--wqxt-reward-accent, #e9d49f); opacity: 1; }
.wqxt-reward-reveal__hint { margin: 0; color: var(--wqxt-reward-soft, var(--wqxt-control-soft)); font: 400 13px/1.4 var(--wqxt-serif); letter-spacing: .08em; }

/* C20 */
wqxt-system-action-bar {
  min-height: calc(72px + env(safe-area-inset-bottom));
  padding: 0 max(24px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(24px, env(safe-area-inset-left));
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--wqxt-action-bar-line, var(--wqxt-control-line));
  background: var(--wqxt-action-bar-background, rgba(5, 7, 11, .96));
  color: var(--wqxt-action-bar-text, var(--wqxt-control-text));
}
wqxt-system-action-bar > [slot="progress"] { min-width: 0; }
wqxt-system-action-bar > [slot="progress"] small,
wqxt-system-action-bar > [slot="progress"] strong { display: block; }
wqxt-system-action-bar > [slot="progress"] small { color: var(--wqxt-action-bar-soft, var(--wqxt-control-soft)); font: 400 10px/1.3 var(--wqxt-sans); }
wqxt-system-action-bar > [slot="progress"] strong { margin-top: 4px; font: 600 13px/1.2 var(--wqxt-serif); }
wqxt-system-action-bar > [slot="hint"] { min-width: 0; margin: 0; overflow: hidden; color: var(--wqxt-action-bar-soft, var(--wqxt-control-soft)); font: 400 11px/1.5 var(--wqxt-sans); text-overflow: ellipsis; white-space: nowrap; }
wqxt-system-action-bar > [slot="actions"] { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
wqxt-system-action-bar > [slot="actions"] > button,
wqxt-system-action-bar > [slot="actions"] > a,
wqxt-system-action-bar > button,
wqxt-system-action-bar > a { min-height: 44px; border-radius: 6px; font: 600 14px/1 var(--wqxt-serif); }

@keyframes wqxt-dialog-in { from { opacity: 0; transform: scale(.98) translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes wqxt-reward-stage-in { from { opacity: 0; transform: scale(1.015); } to { opacity: 1; transform: none; } }

@media (max-width: 1000px), (max-height: 560px) {
  wqxt-dialog { padding: max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
  .wqxt-dialog__surface { width: min(var(--wqxt-dialog-width, 600px), calc(100vw - 24px)); max-height: calc(100dvh - 16px); }
  .wqxt-dialog__header { min-height: 52px; padding: 10px 56px 8px; }
  .wqxt-dialog__title { font-size: 16px; }
  .wqxt-dialog__close { top: 4px; right: 4px; }
  .wqxt-dialog__body { padding: 0 16px 16px; font-size: 13px; }
  .wqxt-dialog__actions { min-height: 60px; padding: 8px 16px; gap: 8px; }
  .wqxt-dialog__actions > button, .wqxt-dialog__actions > a { font-size: 13px; }
  wqxt-toast-region { top: var(--wqxt-toast-top-compact, calc(max(56px, env(safe-area-inset-top)) + 8px)); }
  .wqxt-reward-reveal__stage { padding: max(10px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
  .wqxt-reward-reveal__heading { gap: 2px; padding-top: 0; }
  .wqxt-reward-reveal__heading span { font-size: 8px; }
  .wqxt-reward-reveal__title { font-size: clamp(22px, 5.5dvh, 30px); }
  .wqxt-reward-reveal__deck { --wqxt-reward-card-width: clamp(66px, 10.8vw, 92px); gap: clamp(8px, 1.25vw, 12px); }
  .wqxt-reward-reveal__deck.is-double-row { width: max-content; max-width: 100%; }
  .wqxt-reward-reveal__deck { --wqxt-reward-card-width: 64px; }
  .wqxt-reward-reveal__deck > wqxt-item-frame { --wqxt-item-size: 64px; }
  .wqxt-reward-reveal__footer { min-height: 42px; gap: 2px; }
  .wqxt-reward-reveal__pager { gap: 8px; }
  .wqxt-reward-reveal__pager button { width: 44px; height: 44px; }
  .wqxt-reward-reveal__hint { font-size: 10px; }
  wqxt-system-action-bar { min-height: calc(64px + env(safe-area-inset-bottom)); padding-inline: max(14px, env(safe-area-inset-left)); gap: 8px; }
  wqxt-system-action-bar > [slot="hint"] { display: none; }
  wqxt-system-action-bar > [slot="actions"] { gap: 8px; }
  wqxt-system-action-bar > [slot="actions"] > button, wqxt-system-action-bar > [slot="actions"] > a, wqxt-system-action-bar > button, wqxt-system-action-bar > a { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .wqxt-dialog__surface { animation: none; }
  .wqxt-toast { transition: none; }
  .wqxt-reward-reveal__stage { animation: none; }
}

/* C03 growth feedback: C105 owns attribute identity; amount shares its color. */
.wqxt-growth-effect,.wqxt-relationship-effect{display:inline-flex;align-items:center;gap:8px}
.wqxt-relationship-effect{color:#d87597;font:500 13px/1.4 var(--wqxt-serif,serif)}
.wqxt-relationship-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
@media(max-width:1000px),(max-height:560px){.wqxt-growth-effect,.wqxt-relationship-effect{gap:4px}.wqxt-relationship-effect{font-size:12px}.wqxt-relationship-icon{width:16px;height:16px}}

/* C104 optional result description, V1.446. No HTML and no truncation. */
.wqxt-reward-reveal__description{max-width:min(880px,100%);margin:24px 0 0;color:var(--wqxt-reward-text,var(--wqxt-control-text));font:400 16px/1.7 var(--wqxt-serif);text-align:center;white-space:pre-line;overflow-wrap:anywhere}
.wqxt-reward-reveal__description[hidden]{display:none!important}
@media(max-width:1000px),(max-height:560px){.wqxt-reward-reveal__description{margin-top:8px;font-size:13px;max-width:min(560px,100%)}}
