html { font-size: 100%; }
body {
  margin: 0;
  background: var(--surface);
  color: var(--fg);
  font: 400 var(--text-body)/1.47 var(--font-body);
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}
.t-page-title   { font: 600 var(--text-page-title)/1.2 var(--font-display); letter-spacing: -0.02em; }
.t-dialog-title { font: 600 var(--text-dialog-title)/1.3 var(--font-body); letter-spacing: -0.015em; }
.t-card-title   { font: 600 var(--text-card-title)/1.35 var(--font-body); }
.t-kpi          { font: 600 var(--text-kpi)/1.1 var(--font-display); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.t-table        { font: 400 var(--text-table)/1.45 var(--font-body); }
.t-caption      { font: 400 var(--text-caption)/1.5 var(--font-body); color: var(--muted); }
.t-label        { font: 500 var(--text-label)/1.3 var(--font-body); }
.t-num          { font-weight: inherit; font-variant-numeric: tabular-nums; }
:focus-visible  { outline: none; box-shadow: var(--focus-ring); }

.glass, .glass-strong {
  background: var(--glass-bg);
  -webkit-backdrop-filter: blur(22px) saturate(1.8);
  backdrop-filter: blur(22px) saturate(1.8);
  border: 0.5px solid var(--glass-border);
  border-radius: var(--radius-panel);
  box-shadow: var(--glass-shadow); /* 不支持 color-mix() 时的回退，下同 */
  box-shadow:
    inset 0 1px 0 color-mix(in oklch, var(--bg) 90%, transparent),
    inset 0 0 0.5px color-mix(in oklch, var(--bg) 46%, transparent),
    var(--glass-shadow);
}
.glass-strong { background: var(--glass-bg-strong); }
.scrim {
  background: var(--scrim);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .glass, .glass-strong { background: var(--bg); }
}
@media (prefers-reduced-transparency: reduce) {
  .glass, .glass-strong { background: var(--bg); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .scrim { -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  .glass, .glass-strong { background: var(--bg); -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid var(--fg-2); }
  :focus-visible { outline: 2px solid var(--accent-active); outline-offset: 2px; }
}

