
/* GooseBlog — 基于 gooseAI 毛玻璃 UI */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* 品牌字体 */
@font-face {
  font-family: "DingTalk JinBuTi";
  src: url("/fonts/DingTalk%20JinBuTi.ttf") format("truetype");
  font-weight: normal; font-style: normal;
  font-display: swap;
}

:root {
  --font-ui: "DingTalk JinBuTi", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-read: "DingTalk JinBuTi", "PingFang SC", "Microsoft YaHei", sans-serif;
  --bg: #15131f;
  --bg-gradient: linear-gradient(135deg, #241a44 0%, #15131f 48%, #0e1a33 100%);
  --sidebar-bg: #1b1828;
  --surface: #221e30;
  --surface-hover: #2c2740;
  --border: #3a3357;
  --text: #f4f0fb;
  --text-secondary: #b4a9cf;
  --brand: #8b5cf6;
  --brand-soft: rgba(139,92,246,0.18);
  --brand-dark: #4c1d95;
  --brand-hover: #7c3aed;
  --brand-rgb: 139,92,246;
  --brand-rgb: 139,92,246;
  --danger: #ef4444;
  --radius: 6px;
  --radius-sm: 6px;
  --radius-pill: 999px;
  --surface-rgb: 34,30,48;
  --acrylic-sidebar: rgba(42,36,62,0.22);
  --acrylic-panel: rgba(42,36,62,0.15);
  --acrylic-header: rgba(42,36,62,0.14);
  --acrylic-input: rgba(42,36,62,0.18);
  --acrylic-bubble: rgba(42,36,62,0.12);
  --acrylic-bar: rgba(42,36,62,0.1);
  --sidebar-w: 260px;
  --topbar-h: 56px;
}

* { scrollbar-width: thin; }
*::-webkit-scrollbar { width: 4px; }
*::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }

html, body {
  margin: 0; padding: 0;
  min-height: 100dvh;
  font-family: var(--font-ui);
  background: var(--bg-gradient);
  color: var(--text);
  /* 旧浏览器降级: dvh 不支持时用 vh */
  min-height: 100vh;
  /* 安全区 padding: 刘海/Home指示条 */
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background: var(--bg-image, linear-gradient(135deg, #1a1025 0%, #0f0a1a 50%, #151322 100%)) center/cover no-repeat;
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

#root {
  position: relative;
  z-index: 1;
  height: 100dvh; height: 100vh;
  overflow: hidden;
}
