@tailwind base;
@tailwind components;
@tailwind utilities;

/* 暗色为默认(html.dark) / 亮色用 :root 反转 */
:root {
  --base: 0 0% 98%;
  --surface: 0 0% 100%;
  --elevated: 240 5% 96%;
  --border: 240 6% 90%;
  --fg-primary: 240 6% 10%;
  --fg-secondary: 240 4% 35%;
  --fg-muted: 240 5% 65%;
  --accent: 217 91% 60%;
  --bull: 4 87% 60%;
  --bear: 152 67% 45%;
  --warning: 32 95% 50%;
  --danger: 4 87% 60%;
}

html.dark {
  --base: 240 5% 5%;
  --surface: 240 7% 10%;
  --elevated: 240 9% 14%;
  --border: 240 5% 22%;
  --fg-primary: 0 0% 98%;
  --fg-secondary: 240 5% 78%;
  --fg-muted: 240 5% 58%;
  --accent: 217 91% 60%;
  --bull: 4 87% 60%;
  --bear: 152 67% 45%;
  --warning: 32 95% 50%;
  --danger: 4 87% 60%;
}

.scrollbar-gutter-stable { scrollbar-gutter: stable; }

* {
  scrollbar-width: thin;
  scrollbar-color: hsl(var(--border)) transparent;
}
*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background: hsl(var(--border) / 0.72);
  border: 2px solid transparent;
  border-radius: 999px;
  background-clip: content-box;
}
*::-webkit-scrollbar-thumb:hover {
  background: hsl(var(--accent) / 0.75);
  background-clip: content-box;
}

.tabular { font-variant-numeric: tabular-nums; }
.num { font-family: theme('fontFamily.mono'); font-variant-numeric: tabular-nums; }

* { border-color: hsl(var(--border)); }

body {
  background: hsl(var(--base));
  color: hsl(var(--fg-primary));
  font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11';
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  text-rendering: optimizeLegibility;
}
