/* 🐕🦌💕 聊天室 — 基础变量与重置 */

* { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --bg-primary: #faf6f0;
  --bg-secondary: #f5ede3;
  --bg-glass: rgba(255,252,248,0.8);
  --text-primary: #4a3f35;
  --text-secondary: #7a6b55;
  --text-muted: rgba(140,120,90,0.45);
  --accent: #c4b49a;
  --accent-dark: #b09880;
  --border: rgba(180,160,130,0.2);
  --border-strong: rgba(180,160,130,0.35);
  --user-bubble: linear-gradient(135deg, #d4c4aa, #c8b898);
  --ai-bubble: rgba(255,255,255,0.75);
  --shadow-soft: 0 2px 8px rgba(180,160,130,0.2);
  --radius: 18px;
  --font: 'Noto Sans SC', 'Noto Sans CJK SC', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
}

body {
  font-family: var(--font);
  background: linear-gradient(170deg, var(--bg-primary) 0%, var(--bg-secondary) 40%, #f0e8dc 100%);
  color: var(--text-primary);
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes bounce {
  0%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-5px); }
}

/* 防闪：有保存密码时默认隐藏密码界面 */
.has-saved-pw #password-gate { display: none; }
.has-saved-pw #app.hidden { display: flex; }

/* 设置状态提醒气泡 */
.settings-toast {
  position: fixed;
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--bg-card, #fff);
  border: 1px solid var(--border, #e0d5c8);
  border-radius: 20px;
  padding: 8px 18px;
  font-size: 14px;
  letter-spacing: 2px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.1);
  z-index: 9999;
  cursor: pointer;
  animation: toast-up 0.3s ease-out;
  transition: opacity 0.4s;
}
.settings-toast.fade-out { opacity: 0; }
@keyframes toast-up {
  from { transform: translateX(-50%) translateY(20px); opacity: 0; }
  to { transform: translateX(-50%) translateY(0); opacity: 1; }
}
