/* =====================================================================
   BetterTimetable — 全局样式 / 配色变量
   ---------------------------------------------------------------------
   DIY 说明：后续调整主题色、背景色只需修改下方 :root 变量即可
   ===================================================================== */

:root {
  /* ===== 主题色 ===== */
  --color-primary:       #0d9488;   /* 主色 —— 深青绿 */
  --color-primary-dark:  #0f766e;   /* 深色 —— 顶部导航栏 */
  --color-primary-light: #14b8a6;   /* 亮色 */
  --color-accent:        #f97316;   /* 点缀色（如按钮高亮）*/

  /* ===== 背景 ===== */
  --bg-page:             #f8fafc;   /* 页面背景 */
  --bg-card:             #ffffff;   /* 卡片背景 */
  --bg-overlay:          rgba(0,0,0,0.4); /* 遮罩 */

  /* ===== 文字 ===== */
  --text-primary:        #0f172a;
  --text-secondary:      #475569;
  --text-muted:          #94a3b8;
  --text-inverse:        #ffffff;

  /* ===== 边框 / 分隔 ===== */
  --border-color:        #e2e8f0;
  --border-radius:       12px;
  --border-radius-lg:    16px;

  /* ===== 阴影 ===== */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
  --shadow-lg: 0 12px 32px rgba(0,0,0,0.12);

  /* ===== 尺寸 ===== */
  --nav-height: 52px;

  /* ===== 动画 ===== */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ===== Reset ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
               "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  font-size: 14px;
  color: var(--text-primary);
  background: var(--bg-page);
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior-y: none;
}

a { color: var(--color-primary); text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
input { font: inherit; outline: none; }

/* ===== 通用工具类 ===== */
.container { padding: 0 16px; }
.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.hidden { display: none !important; }
.text-center { text-align: center; }
.text-muted { color: var(--text-muted); }

/* ===== Toast 通知 ===== */
.bt-toast {
  position: fixed;
  top: 72px;
  left: 50%;
  transform: translateX(-50%) translateY(-20px);
  background: rgba(15, 23, 42, 0.9);
  color: #fff;
  padding: 10px 20px;
  border-radius: 24px;
  font-size: 13px;
  opacity: 0;
  transition: all .25s var(--ease-out);
  z-index: 9999;
  pointer-events: none;
}
.bt-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
