/* Shared identity for the game and its management pages. */
@font-face {
  font-family: 'Wuzi Serif';
  src: url('/static/assets/fonts/wuzi-serif-regular.woff2?v=534264e92c3f') format('woff2');
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
}
@font-face {
  font-family: 'Wuzi Serif';
  src: url('/static/assets/fonts/wuzi-serif-bold.woff2?v=18290f4863ac') format('woff2');
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
}
:root {
  color-scheme: light;
  --ui-bg: #f5f7f3;
  --ui-surface: #ffffff;
  --ui-surface-soft: #eaf0e8;
  --ui-ink: #173b32;
  --ui-muted: #5f7168;
  --ui-accent: #28684f;
  --ui-accent-hover: #1c523e;
  --ui-line: #d7e1d7;
  --ui-gold: #a07835;
  --ui-danger: #a54736;
  --ui-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --ui-serif: 'Wuzi Serif', 'Songti SC', 'STSong', serif;
  --ui-radius-sm: 12px;
  --ui-radius: 20px;
  --ui-radius-dialog: 24px;
  --ui-shadow: 0 12px 36px rgb(23 59 50 / 7%);
  --ui-shadow-dialog: 0 24px 80px rgb(23 59 50 / 18%);
  --ui-motion-fast: 120ms;
  --ui-motion-normal: 180ms;
  --ui-motion-ease: cubic-bezier(.22, 1, .36, 1);
  --ui-space-1: 4px;
  --ui-space-2: 8px;
  --ui-space-3: 12px;
  --ui-space-4: 16px;
  --ui-space-5: 20px;
  --ui-space-6: 24px;
  --ui-space-8: 32px;
  font-family: var(--ui-font);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
.ui-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  vertical-align: middle;
  object-fit: contain;
}
.ui-icon[aria-hidden='true'] { pointer-events: none; }
.ui-icon-sm { width: 16px; height: 16px; }
.ui-icon-lg { width: 24px; height: 24px; }
.ui-icon-light { filter: brightness(0) invert(1); }
svg.ui-icon { fill: none; stroke: currentColor; stroke-width: 1.75; }
::selection { color: var(--ui-ink); background: #d4e5d4; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
