/* Ant Design 统一外观层：覆盖主页面、弹窗、抽屉、表单与反馈状态。 */
:root {
  --ant-color-primary: #28e0d8;
  --ant-color-primary-hover: #55e8e1;
  --ant-color-primary-active: #1bb8b2;
  --ant-color-bg-base: #090a12;
  --ant-color-bg-container: #15182a;
  --ant-color-bg-elevated: #1e2238;
  --ant-color-border: rgba(255, 255, 255, .12);
  --ant-color-border-secondary: rgba(255, 255, 255, .08);
  --ant-color-text: #edeffb;
  --ant-color-text-secondary: #9aa0be;
  --ant-color-text-tertiary: #6f7695;
  --ant-border-radius: 10px;
  --ant-border-radius-lg: 16px;
  --ant-box-shadow: 0 6px 16px rgba(0, 0, 0, .24), 0 3px 6px -4px rgba(0, 0, 0, .4);
  --ant-box-shadow-secondary: 0 12px 34px rgba(0, 0, 0, .38);
}

html, body { background: var(--ant-color-bg-base); }
body { font-feature-settings: "tnum"; }
xyk-ant-card, xyk-ant-button, xyk-ant-input, xyk-ant-select { display: contents; }
.xyk-ant-card-content { min-width: 0; }
.ant-card.card > .ant-card-body { padding: 0; }
.ant-btn { height: auto; min-height: 44px; white-space: normal; }
.ant-btn > span { display: contents; }
.ant-input, .ant-input-affix-wrapper, .ant-select-selector { min-height: 44px; }
.ant-select { width: 100%; }

/* 页面与卡片 */
.main { padding-top: 24px; }
.page { max-width: 1120px; margin-inline: auto; }
.card,
.shortcut,
.strip,
.play-choice,
.presence-intents,
.event-hero,
.owner-announcement {
  border-color: var(--ant-color-border-secondary);
  border-radius: var(--ant-border-radius-lg);
  background: var(--ant-color-bg-container);
  box-shadow: var(--ant-box-shadow);
}
.page-title { font-weight: 650; letter-spacing: -.025em; }
.page-sub, .muted, .tiny { color: var(--ant-color-text-secondary); }
.section-head,
.mine-section-head,
.mine-ui-heading { margin-top: 24px; }

/* 所有按钮与可点击小界面 */
button,
[role="button"],
[data-action],
[data-route] {
  -webkit-tap-highlight-color: transparent;
}
.primary,
.secondary,
.ghost {
  min-height: 44px;
  border-radius: var(--ant-border-radius);
  font-weight: 600;
  transition: color .2s, background .2s, border-color .2s, box-shadow .2s, transform .1s;
}
.primary {
  background: var(--ant-color-primary);
  color: #061918;
  box-shadow: 0 2px 0 rgba(0, 0, 0, .18);
}
.primary:hover { background: var(--ant-color-primary-hover); }
.primary:active { background: var(--ant-color-primary-active); transform: translateY(1px); }
.secondary {
  border: 1px solid var(--ant-color-primary);
  background: transparent;
  color: var(--ant-color-primary);
}
.ghost { border-color: var(--ant-color-border); color: var(--ant-color-text); }
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid var(--ant-color-primary);
  outline-offset: 2px;
}

/* 全部表单、小表单与后台编辑器 */
.field input,
.field select,
.field textarea,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
textarea {
  min-height: 44px;
  border: 1px solid var(--ant-color-border);
  border-radius: var(--ant-border-radius);
  background: var(--ant-color-bg-elevated);
  color: var(--ant-color-text);
  box-shadow: none;
  transition: border-color .2s, box-shadow .2s;
}
.field input:hover,
.field select:hover,
.field textarea:hover,
input:hover,
select:hover,
textarea:hover { border-color: var(--ant-color-primary); }
.field input:focus,
.field select:focus,
.field textarea:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--ant-color-primary);
  box-shadow: 0 0 0 2px rgba(40, 224, 216, .14);
  outline: none;
}

/* Ant Modal 承接所有登录、结算、详情、确认和店主操作小界面 */
.xyk-ant-modal .ant-modal-container {
  border: 1px solid var(--ant-color-border-secondary);
  box-shadow: var(--ant-box-shadow-secondary);
}
.xyk-ant-modal .ant-modal-header { margin-bottom: 16px; }
.xyk-ant-modal .ant-modal-close { color: var(--ant-color-text-secondary); }
.xyk-ant-modal .ant-modal-close:hover { color: var(--ant-color-text); background: rgba(255, 255, 255, .08); }
.ant-modal-legacy {
  width: auto;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.ant-modal-legacy > div > h2:first-child:empty { display: none; }
.ant-modal-legacy-actions { margin-top: 20px; }
.ant-modal-legacy-actions > .primary:first-child,
.ant-modal-legacy-actions > .secondary:first-child,
.ant-modal-legacy-actions > .ghost:first-child { margin-top: 0; }
.ant-modal-legacy .modal-actions { margin-top: 20px; }

/* 空、错、载入等微型状态 */
.empty, .auth-unavailable {
  border-radius: var(--ant-border-radius);
  color: var(--ant-color-text-tertiary);
}
#toast { display: none !important; }

@media (max-width: 700px) {
  .main { padding: 16px 16px 112px; }
  .xyk-ant-modal { max-width: calc(100vw - 24px); margin: 12px auto; }
.xyk-ant-modal .ant-modal-container { padding: 20px 16px; border-radius: 16px; }
  .xyk-ant-modal .ant-modal-body { max-height: calc(100dvh - 84px) !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
