@import 'tailwindcss'; /* * 深色模式用 class 控制而不是纯 media query —— * 这样才能支持「跟随系统 / 强制浅色 / 强制深色」三态。 */ @custom-variant dark (&:where(.dark, .dark *)); @theme { --font-sans: system-ui, 'Segoe UI', 'Microsoft YaHei', 'PingFang SC', Roboto, sans-serif; /* 卡片与面板的阴影:用极低不透明度的多层阴影代替单层重阴影,看起来更干净 */ --shadow-card: 0 1px 2px rgb(15 23 42 / 0.04), 0 1px 3px rgb(15 23 42 / 0.06); --shadow-card-hover: 0 6px 16px rgb(15 23 42 / 0.09), 0 1px 3px rgb(15 23 42 / 0.05); --shadow-panel: 0 16px 40px rgb(15 23 42 / 0.12), 0 2px 8px rgb(15 23 42 / 0.06); --shadow-pop: 0 8px 24px rgb(15 23 42 / 0.12), 0 1px 3px rgb(15 23 42 / 0.06); } @layer base { html, body, #app { height: 100%; } html { color-scheme: light; } html.dark { color-scheme: dark; } body { margin: 0; background: var(--color-slate-100); color: var(--color-slate-900); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; } /* * 深色用 zinc(中性灰)而不是 slate:slate 带明显蓝调, * 整页会发蓝,和「中性灰」的目标色差得很远。 */ html.dark body { background: var(--color-zinc-950); color: var(--color-zinc-100); } /* 统一的键盘焦点样式,鼠标点击不显示 */ :focus-visible { outline: 2px solid var(--color-sky-500); outline-offset: 2px; border-radius: 4px; } ::selection { background: var(--color-sky-200); } html.dark ::selection { background: var(--color-sky-800); } /* 细滚动条,避免在列里出现粗重的系统滚动条 */ * { scrollbar-width: thin; scrollbar-color: var(--color-slate-300) transparent; } html.dark * { scrollbar-color: var(--color-zinc-700) transparent; } } /* * 注:日期输入框空值时的原生提示(「yyyy / mm / 日」)不在这里处理。 * 试过把 `::-webkit-datetime-edit` 系列伪元素设成透明,但部分环境下不生效, * 已改为在 DatePicker.vue 里用不透明占位层直接盖住。 */