/*
 * 《诸神的酒宴》共享 UI 设计令牌
 * 大屏与竖屏操作台共同读取。主题替换先改本文件，再按 UI_ASSET_DESIGN_SYSTEM.md 验收。
 */
:root {
  color-scheme: dark;

  /* Typography roles: fixed target canvases only. */
  --font-display: "LiLinGothicSC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-ui: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-number: "Brilon", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-event-name: var(--font-ui);
  --font-team-name: var(--font-ui);

  --type-screen-display-xl: 96px;
  --type-screen-display-l: 80px;
  --type-screen-major: 56px;
  --type-screen-status: 50px;
  --type-screen-body-l: 40px;
  --type-screen-body: 32px;
  --type-screen-hud-name: 32px;
  --type-screen-hud-meta: 28px;

  --type-tablet-page-title: 32px;
  --type-tablet-card-title: 28px;
  --type-tablet-action: 22px;
  --type-tablet-body: 18px;
  --type-tablet-meta: 15px;

  /* Fixed spacing and control contracts. */
  --space-screen-1: 16px;
  --space-screen-2: 24px;
  --space-screen-3: 32px;
  --space-screen-4: 48px;
  --space-screen-5: 64px;
  --space-tablet-1: 8px;
  --space-tablet-2: 12px;
  --space-tablet-3: 16px;
  --space-tablet-4: 24px;
  --space-tablet-5: 32px;
  --control-primary-height: 80px;
  --control-secondary-height: 64px;
  --control-radius: 14px;
  --card-radius: 20px;
  --modal-radius: 28px;
  --motion-press: 240ms;
  --motion-state: 360ms;
  --motion-stage: 680ms;

  /* Semantic world palette */
  --world-ink: #101312;
  --world-charcoal: #202424;
  --world-slate: #323938;
  --world-stone: #706856;
  --world-sand: #9b907e;
  --world-bone: #f7f1e4;
  --world-bone-dim: #cfc7b4;
  --world-wood: #3d3028;
  --world-wood-light: #5c4e40;
  --world-bronze: #a47b45;
  --world-brass: #d3b06d;
  --world-verdigris: #648f88;
  --world-moon: #a2a0a0;
  --world-wine: #7a314e;
  --world-crystal: #aa44a0;
  --world-crystal-deep: #4d3478;

  /* Material recipes */
  --glass-fill: rgba(26, 31, 30, 0.72);
  --glass-fill-strong: rgba(16, 19, 18, 0.88);
  --glass-edge: rgba(247, 241, 228, 0.18);
  --glass-highlight: rgba(247, 241, 228, 0.1);
  --metal-hairline: rgba(247, 241, 228, 0.025);
  --wood-shadow: rgba(15, 10, 7, 0.54);

  /* Semantic interface colors */
  --text: var(--world-bone);
  --muted: #aaa596;
  --gold: var(--world-brass);
  --red: #a74d4d;
  --green: #7fa883;
  --blue: #7f9fa9;
  --violet: #a981b8;
  --pink: #b56b8e;
  --black-magic: var(--world-crystal);
  --phase-solid: var(--world-brass);
  --phase-glow: rgba(211, 176, 109, 0.24);

  /* Shape and depth */
  --corner-lg: 28px;
  --corner-md: 20px;
  --corner-sm: 13px;
  --shadow-deep: 0 30px 70px rgba(0, 0, 0, 0.46);
  --shadow-float: 0 16px 36px rgba(0, 0, 0, 0.34);

  /* Cross-screen safety contracts */
  --ui-touch-target-min: 56px;
  --ui-screen-cup-safe-right: 18vw;
  --ui-screen-status-safe-side: var(--ui-screen-cup-safe-right);
  --ui-stage-art-top: 33.333vh;
}

html {
  font-synthesis: none;
}

.ui-number,
.last-cup-number,
.finish-slot-label,
.finish-team-status,
.rank-no,
.rank-stat {
  font-variant-numeric: tabular-nums lining-nums;
}

button:disabled,
.is-loading {
  opacity: 0.42;
  cursor: default;
}

button:not(:disabled):active {
  transform: translateY(1px) scale(0.99);
  transition-duration: var(--motion-press);
}

/* The AWG host owns return navigation. Keep the legacy embedded control hidden
 * even when older bridge code removes its hidden attribute on resume. */
#awgame-return {
  display: none !important;
}
