:root {
  --sci-bg: #fbfaf7;
  --sci-surface: #ffffff;
  --sci-surface-subtle: #f4f3ef;
  --sci-text: #111827;
  --sci-text-secondary: #4b5563;
  --sci-text-muted: #6b7280;
  --sci-border: #e5e7eb;
  --sci-border-strong: #cbd5e1;
  --sci-blue: #145bff;
  --sci-blue-hover: #0e46cc;
  --sci-blue-soft: #eef4ff;
  --sci-success: #087a46;
  --sci-success-soft: #ecfdf3;
  --sci-warning: #b54708;
  --sci-warning-soft: #fffaeb;
  --sci-danger: #b42318;
  --sci-danger-soft: #fef3f2;
  --sci-focus: #84adff;
  --sci-font-serif: "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", serif;
  --sci-font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC",
    "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;
  --sci-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --sci-space-1: 4px;
  --sci-space-2: 8px;
  --sci-space-3: 12px;
  --sci-space-4: 16px;
  --sci-space-5: 20px;
  --sci-space-6: 24px;
  --sci-space-8: 32px;
  --sci-space-10: 40px;
  --sci-space-12: 48px;
  --sci-space-16: 64px;
  --sci-space-20: 80px;
  --sci-control-sm: 36px;
  --sci-control-md: 44px;
  --sci-control-lg: 52px;
  --sci-header-desktop: 64px;
  --sci-header-mobile: 60px;
  --sci-radius-sm: 6px;
  --sci-radius-md: 8px;
  --sci-radius-lg: 12px;
  --sci-shadow-drawer: 0 16px 40px rgba(17, 24, 39, 0.14);
  --sci-shadow-toast: 0 8px 24px rgba(17, 24, 39, 0.12);
}

.sci-editorial-ui {
  background: var(--sci-bg);
  color: var(--sci-text);
  font-family: var(--sci-font-sans);
  text-rendering: optimizeLegibility;
}

.sci-editorial-ui *,
.sci-editorial-ui *::before,
.sci-editorial-ui *::after {
  box-sizing: border-box;
}

.sci-editorial-ui :focus-visible {
  outline: 3px solid var(--sci-focus);
  outline-offset: 3px;
}

.sci-editorial-ui a {
  color: inherit;
}

.sci-editorial-ui img {
  max-width: 100%;
  height: auto;
}
