/* ========== 基础样式 - 精确匹配小程序 #12264F 深蓝主题 ========== */
:root {
  --color-bg: #12264F;
  --color-surface: rgba(12, 25, 50, 0.95);
  --color-primary: #1E90FF;
  --color-fill: #E94560;
  --color-text: #FFFFFF;
  --color-text-dim: #B8B8D1;
  --color-text-muted: #8888A9;
  --color-homophone: #F47068;
  --color-highlight: rgba(70, 130, 180, 0.3);
  --color-blue-active: rgba(30, 144, 255, 0.3);
  --color-blue-border: rgba(30, 144, 255, 0.5);
  --font-pinyin: 3.33vw;
  --font-lyric: 5.33vw;
  --font-homophone: 5.33vw;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
  height: 100vh;
  height: 100dvh;
  user-select: none;
  -webkit-user-select: none;
}

.container {
  display: flex;
  flex-direction: column;
  height: 100vh;
  height: 100dvh;
  background: var(--color-bg);
}

/* ========== 通用提示 Toast（匹配原生 wx.showToast） ========== */
.global-toast {
  position: fixed;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 14px;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  pointer-events: none;
  text-align: center;
  max-width: 70%;
}
.global-toast.show {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
