/* =====================================================================
   LIBRA · 主题：浅色（默认）+ 深色（同一套设计语言的夜间版本）
   用法：<html data-theme="light"> / <html data-theme="dark">
   组织方式：
     1) 结构色全部走 libra.css :root 的语义令牌，这里只改「浅色调色板」；
     2) 少数在深色下用「浅色文字 + 深色底」的语义组件（徽章、提示块、按钮、
        座位格、消息/设置页的选中态）在这里给出浅底深字的对应值。
   ===================================================================== */

html[data-theme='light'] {
  color-scheme: light;

  /* 底色与表面 */
  --bg: #f4f6fb;
  --bg-deep: #eef1f7;
  --glow: #dfe8ff;
  --surface: #ffffff;
  --surface-2: #f7f9fd;
  --surface-3: #eef2f8;
  --card-a: #ffffff;
  --card-b: #fbfcfe;
  --row: #ffffff;
  --row-hover: #f4f7fc;
  --menu-bg: #ffffff;
  --menu-hover: #f2f5fa;
  --nav-active: #eaf0ff;
  --nav-active-line: #c9d8fb;
  --input: #ffffff;
  --chip-bg: #f2f5fa;
  --btn-bg: #eef2f8;
  --track: #e6ebf3;

  /* 描边 */
  --line: #e4e9f2;
  --line-soft: #eef1f7;
  --line-strong: #d7dfea;
  --line-hover: #b9c6d9;

  /* 文字 */
  --text: #111823;
  --text-2: #3a4553;
  --muted: #5d6a7c;
  --faint: #66707f;

  /* 语义色的可读文字版本 */
  --blue-ink: #2f4fc4;
  --green-ink: #0d7d5c;
  --amber-ink: #9a6a11;
  --red-ink: #b3273c;
  --purple-ink: #5b3bbd;

  /* 效果 */
  --glass: rgba(255, 255, 255, 0.9);
  --sidebar-a: rgba(255, 255, 255, 0.94);
  --sidebar-b: rgba(247, 250, 255, 0.55);
  --scroll-thumb: #c6d0e0;
  --shadow: 0 14px 34px rgba(23, 35, 58, 0.1);
  --shadow-pop: 0 20px 44px rgba(23, 35, 58, 0.16);
  --tint-1: rgba(16, 24, 40, 0.03);
  --tint-2: rgba(16, 24, 40, 0.06);
  --overlay: rgba(23, 32, 48, 0.38);

  /* 工作台「当前座位」横幅：浅色下改成淡蓝提示条 */
  --seat-banner-bg: linear-gradient(90deg, #edf3ff, #f8fbff);
  --seat-banner-line: #c9d8fb;
  --seat-pill-bg: #dfe9ff;
  --seat-pill-ink: #2f4fc4;
}

/* ------------------------------------------------------------------ 基础观感 */
html[data-theme='light'] body {
  background: radial-gradient(1100px 620px at 76% -12%, var(--glow) 0%, transparent 55%), var(--bg);
}
html[data-theme='light'] .card { box-shadow: 0 1px 2px rgba(23, 35, 58, 0.04); }
html[data-theme='light'] .topbar { box-shadow: 0 1px 0 rgba(23, 35, 58, 0.05); }
html[data-theme='light'] ::-webkit-scrollbar-thumb { border-color: transparent; }

/* 侧边栏 */
html[data-theme='light'] .side-item { color: var(--muted); }
html[data-theme='light'] .side-item.active {
  color: #1b3a8f;
  background: var(--nav-active);
  box-shadow: inset 0 0 0 1px var(--nav-active-line);
}
html[data-theme='light'] .side-card { background: var(--surface-2); }
html[data-theme='light'] .side-card b { color: #8a5a12; }

/* 顶栏搜索、账号菜单、导航 */
html[data-theme='light'] .search-box { background: var(--input); border-color: var(--line-strong); }
html[data-theme='light'] .search-box input::placeholder { color: var(--faint); }
html[data-theme='light'] .user-menu { background: var(--menu-bg); border-color: var(--line-strong); }
html[data-theme='light'] .user-menu a:hover,
html[data-theme='light'] .user-menu button:hover { background: var(--menu-hover); color: var(--text); }
html[data-theme='light'] .user-menu .danger:hover { background: #fdeef0; color: var(--red-ink); }
html[data-theme='light'] .nav a.active { color: #1b3a8f; }
html[data-theme='light'] .kbd { color: var(--faint); border-color: var(--line-strong); }

/* 按钮：浅底 + 深字；深色填充按钮（danger/purple）改为浅色调 */
html[data-theme='light'] .btn { border-color: var(--line-strong); color: var(--text-2); }
html[data-theme='light'] .btn:hover { border-color: var(--line-hover); color: var(--text); }
html[data-theme='light'] .btn-primary,
html[data-theme='light'] .btn-primary:hover { color: #fff; }
html[data-theme='light'] .btn-danger { background: #fdeef0; border-color: #f3cdd3; color: var(--red-ink); }
html[data-theme='light'] .btn-danger:hover { background: #fbe3e7; color: #8f1d2e; }
html[data-theme='light'] .btn-purple { background: #f1ecfd; border-color: #d9cef8; color: var(--purple-ink); }

/* 徽章 / 提示块 */
html[data-theme='light'] .badge.green { color: var(--green-ink); background: #e8f8f2; border-color: #bfe9da; }
html[data-theme='light'] .badge.amber { color: var(--amber-ink); background: #fdf4e3; border-color: #f0dcb4; }
html[data-theme='light'] .badge.red { color: var(--red-ink); background: #fdeef0; border-color: #f3cdd3; }
html[data-theme='light'] .badge.purple { color: var(--purple-ink); background: #f1ecfd; border-color: #d9cef8; }
html[data-theme='light'] .badge.blue { color: var(--blue-ink); background: #eaf0ff; border-color: #c9d8fb; }
html[data-theme='light'] .badge.plain { background: var(--chip-bg); border-color: var(--line); }
html[data-theme='light'] .badge-count { background: #4a6cf4; color: #fff; }

html[data-theme='light'] .note { background: var(--tint-1); border-color: var(--line); }
html[data-theme='light'] .note.amber { background: #fdf6e8; border-color: #f0dcb4; color: var(--amber-ink); }
html[data-theme='light'] .note.blue { background: #eef3ff; border-color: #c9d8fb; color: var(--blue-ink); }
html[data-theme='light'] .note b { color: var(--text); }
html[data-theme='light'] .note .t { color: var(--blue-ink); }

html[data-theme='light'] .chip { background: var(--chip-bg); border-color: var(--line); color: var(--text-2); }
html[data-theme='light'] .chip.active { background: var(--nav-active); border-color: var(--nav-active-line); color: #1b3a8f; }
html[data-theme='light'] .chip:hover { border-color: var(--line-hover); }

/* 指标数字 */
html[data-theme='light'] .stat .value.green,
html[data-theme='light'] .value.green { color: var(--green-ink); }
html[data-theme='light'] .stat .value.amber,
html[data-theme='light'] .value.amber { color: var(--amber-ink); }
html[data-theme='light'] .stat .value.purple,
html[data-theme='light'] .value.purple { color: var(--purple-ink); }
html[data-theme='light'] .stat .value.blue,
html[data-theme='light'] .value.blue { color: var(--blue-ink); }
html[data-theme='light'] .stat .value.red,
html[data-theme='light'] .value.red { color: var(--red-ink); }
html[data-theme='light'] .eyebrow { color: var(--blue-strong); }
html[data-theme='light'] .adm-up { color: var(--green-ink); }
html[data-theme='light'] .adm-down { color: var(--red-ink); }

/* 表格 / 表单 */
html[data-theme='light'] .table th { color: var(--faint); }
html[data-theme='light'] .input { background: var(--input); border-color: var(--line-strong); }
html[data-theme='light'] .select { background-color: var(--input); border-color: var(--line-strong); }
html[data-theme='light'] .textarea { background: var(--input); border-color: var(--line-strong); }
html[data-theme='light'] .input:focus,
html[data-theme='light'] .select:focus,
html[data-theme='light'] .textarea:focus { border-color: #8fa8ea; box-shadow: 0 0 0 3px rgba(74, 108, 244, 0.12); }

/* 座位图：深色状态色 → 浅底深字 */
html[data-theme='light'] .seatmap {
  background: linear-gradient(180deg, #fbfcfe, #f1f5fb);
  border-color: var(--line);
}
html[data-theme='light'] .zone-block { background: #eef2f8; border-color: var(--line); color: var(--muted); }
html[data-theme='light'] .seat { background: #eef1f6; color: #8d97a6; border-color: #e2e8f1; }
html[data-theme='light'] .seat.free { background: #e6f7f0; color: #0d7d5c; border-color: #b9e8d8; }
html[data-theme='light'] .seat.occupied { background: #eef1f6; color: #98a2b1; border-color: #e0e5ee; }
html[data-theme='light'] .seat.release { background: #fdf4e3; color: #9a6a11; border-color: #f0dcb4; }
html[data-theme='light'] .seat.maintain { background: #f7edf2; color: #9b6c80; border-color: #ecd6df; }
html[data-theme='light'] .seat.mine { background: linear-gradient(180deg, #8f6cf7, #6f4fe0); color: #fff; border-color: #a98cff; }
html[data-theme='light'] .seat.pick { outline-color: #4a6cf4; }
html[data-theme='light'] .note.seat-seal { background: #fdf6e8; border-color: #f0dcb4; color: var(--amber-ink); }

/* 研讨间时段格 */
html[data-theme='light'] .slot { background: #f2f5fa; border-color: #e2e8f1; color: var(--muted); }
html[data-theme='light'] .slot.free { background: #eaf7f2; border-color: #c8ead9; color: #0d7d5c; }
html[data-theme='light'] .slot.booked { background: #fdf4e3; border-color: #f0dcb4; color: #9a6a11; }
html[data-theme='light'] .slot.mine { background: #f1ecfd; border-color: #c9b6ff; color: var(--purple-ink); }

/* 消息中心 */
html[data-theme='light'] .msg-cat.active {
  color: #1b3a8f;
  border-color: var(--nav-active-line);
  background: var(--nav-active);
  box-shadow: none;
}
html[data-theme='light'] .msg-item:not(.is-read) { background: #f4f8ff; border-color: #dbe6fb; }
html[data-theme='light'] .msg-item:hover { border-color: var(--line-hover); }
html[data-theme='light'] .msg-act:hover { background: var(--menu-hover); }
html[data-theme='light'] .msg-divider { background: var(--line); }
html[data-theme='light'] .msg-channel-row b.on { color: var(--green-ink); }
html[data-theme='light'] .msg-empty-card {
  border-color: #d9cef8;
  background: radial-gradient(120% 130% at 10% 0%, #f5f0ff 0%, #faf8ff 60%, #ffffff 100%);
}
html[data-theme='light'] .msg-empty-brand { color: var(--purple-ink); }
html[data-theme='light'] .msg-empty-orb { background: #eae2ff; border-color: #c9b6ff; color: var(--purple-ink); }
html[data-theme='light'] .msg-empty-card p { color: var(--text-2); }
html[data-theme='light'] .msg-empty-link { color: var(--purple-ink); }
html[data-theme='light'] .msg-empty-link:hover { color: #46279c; }

/* 个人中心 / 设置 */
html[data-theme='light'] .set-nav-item.active {
  background: var(--nav-active);
  border-color: var(--nav-active-line);
  color: #1b3a8f;
}
html[data-theme='light'] .set-id-row,
html[data-theme='light'] .set-channel { background: var(--surface-2); border-color: var(--line); }
html[data-theme='light'] .set-channel.on { background: #f2fbf7; border-color: #c8ead9; }
html[data-theme='light'] .set-privacy-row { border-color: var(--line); }
html[data-theme='light'] .set-theme:hover { border-color: var(--line-hover); }
html[data-theme='light'] .set-theme.active {
  border-color: #8fa8ea;
  background: var(--nav-active);
  box-shadow: 0 0 0 3px rgba(74, 108, 244, 0.12);
}
html[data-theme='light'] .set-theme-copy b { color: var(--text); }
html[data-theme='light'] .prof-badge { background: var(--surface-2); }
html[data-theme='light'] .set-motion-note {
  border-color: #f3cddd;
  background: linear-gradient(90deg, #fdf2f7, #fef7fa);
}
html[data-theme='light'] .set-motion-text { color: #8a3f60; }
html[data-theme='light'] .set-motion-text b { color: #6d2745; }
html[data-theme='light'] .set-motion-text span { color: #9a4d70; }
html[data-theme='light'] .prof-share-card {
  border-color: #c9d8fb;
  background: linear-gradient(135deg, #eef3ff 0%, #f7f9ff 52%, #ffffff 100%);
  color: var(--text);
}
html[data-theme='light'] .prof-share-cat { background: radial-gradient(circle at 34% 28%, #d9ccff, #efe9ff 72%); }

/* 管理端状态色 */
html[data-theme='light'] .adm-type.overdue { color: var(--red-ink); }
html[data-theme='light'] .adm-type.device { color: var(--amber-ink); }
html[data-theme='light'] .adm-type.complaint { color: var(--blue-ink); }
html[data-theme='light'] .adm-type.other { color: var(--purple-ink); }
html[data-theme='light'] .adm-status.pending { color: var(--red-ink); }
html[data-theme='light'] .adm-status.processing { color: var(--amber-ink); }
html[data-theme='light'] .adm-status.recorded { color: var(--green-ink); }
html[data-theme='light'] .adm-noshow .lv1 { color: var(--amber-ink); }
html[data-theme='light'] .adm-noshow .lv2 { color: var(--red-ink); }
html[data-theme='light'] .adm-college-track { background: var(--track); }
html[data-theme='light'] .adm-noshows-foot { color: var(--faint); }
html[data-theme='light'] .adm-seat-tags .badge { background: var(--chip-bg); }

/* 错误页 / 空态装饰 */
html[data-theme='light'] .err-orb.purple { background: #f1ecfd; color: var(--purple-ink); border-color: #d9cef8; }
html[data-theme='light'] .err-orb.amber { background: #fdf4e3; color: var(--amber-ink); border-color: #f0dcb4; }
html[data-theme='light'] .err-orb.red { background: #fdeef0; color: var(--red-ink); border-color: #f3cdd3; }
html[data-theme='light'] .err-orb.blue { background: #eaf0ff; color: var(--blue-ink); border-color: #c9d8fb; }

/* 登录 / 注册页的左侧数据卡与 AI 检索结果面板 */
html[data-theme='light'] .auth-point { background: #ffffff; border-color: var(--line); }
html[data-theme='light'] .cat-ai {
  border-color: #d9cef8;
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), #fbfaff 70%);
}
html[data-theme='light'] .cat-ai-badge { background: #f1ecfd; color: var(--purple-ink); border-color: #d9cef8; }

/* 书封投影在浅底上轻一点 */
html[data-theme='light'] .cover { box-shadow: 0 8px 18px rgba(23, 35, 58, 0.16); }
html[data-theme='light'] .dc-spine,
html[data-theme='light'] .dc-book { box-shadow: 0 10px 22px rgba(23, 35, 58, 0.12); }

/* 弹窗 / 提示条 */
html[data-theme='light'] .modal { background: var(--menu-bg); border-color: var(--line-strong); }
html[data-theme='light'] .modal h3 { color: var(--text); }
html[data-theme='light'] .modal p { color: var(--muted); }
html[data-theme='light'] .toast { background: #ffffff; border-color: var(--line-strong); color: var(--text); box-shadow: var(--shadow-pop); }
