

:root {

  --bg: #f6f7f9;
  --bg-grad: linear-gradient(180deg, #fafbfc 0%, #f1f3f6 100%);
  --card: #ffffff;
  --text: #111111;
  --text-2: rgba(17, 17, 17, 0.55);
  --accent: #111111;
  --accent-soft: rgba(17, 17, 17, 0.06);

  --line: rgba(17, 17, 17, 0.06);
  --line-strong: rgba(17, 17, 17, 0.12);
  --dash: rgba(17, 17, 17, 0.22);
  --mask-soft: rgba(17, 17, 17, 0.08);
  --mask: rgba(17, 17, 17, 0.72);
  --mask-strong: rgba(17, 17, 17, 0.35);
  --toast-bg: rgba(255, 255, 255, 0.92);
  --toast-fg: #111111;
  --toast-line: rgba(17, 17, 17, 0.08);
  --toast-shadow: 0 6px 20px rgba(17, 17, 17, 0.10);
  --toast-ok: #111111;
  --island-bg: rgba(0, 0, 0, 0.85);
  --island-fg: #ffffff;
  --island-sub: rgba(255, 255, 255, 0.72);
  --island-line: rgba(255, 255, 255, 0.14);

  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 6px 16px rgba(17, 17, 17, 0.06);
  --shadow-soft: 0 2px 8px rgba(17, 17, 17, 0.04);

  --font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;

  --statusbar-height: 44px;

  --grid-padding: 16px;
  --grid-gap: 10px;
  --icon-size: 56px;
  --icon-radius: 20px;
  --icon-label-size: calc(var(--font-size, 15px) - 3px);

  --dock-height: 76px;
  --dock-slot: 56px;
}

body.theme-dark {
  --bg: #101214;
  --bg-grad: linear-gradient(180deg, #17191c 0%, #0d0f11 100%);
  --card: #1b1e23;
  --text: #f2f3f5;
  --text-2: rgba(242, 243, 245, 0.55);
  --accent: #F2F2EF;
  --accent-soft: rgba(255, 255, 255, 0.12);

  --line: rgba(255, 255, 255, 0.08);
  --line-strong: rgba(255, 255, 255, 0.14);
  --dash: rgba(255, 255, 255, 0.26);
  --mask-soft: rgba(255, 255, 255, 0.07);
  --mask: rgba(0, 0, 0, 0.72);
  --mask-strong: rgba(255, 255, 255, 0.16);
  --toast-bg: rgba(32, 35, 40, 0.92);
  --toast-fg: #f2f3f5;
  --toast-line: rgba(255, 255, 255, 0.10);
  --toast-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
  --toast-ok: #F2F2EF;

  --shadow: 0 6px 16px rgba(0, 0, 0, 0.45);
  --shadow-soft: 0 2px 8px rgba(0, 0, 0, 0.35);
}
