/* Universal Theme Kit — tokens only. Load before components.css. */
:root {
  --ui-font: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --ui-scale: 1; --ui-content-scale: 1;
  --ui-space-1: 4px; --ui-space-2: 8px; --ui-space-3: 12px; --ui-space-4: 16px; --ui-space-5: 20px; --ui-space-6: 24px; --ui-space-8: 32px; --ui-space-10: 40px;
  --ui-radius: 10px; --ui-radius-sm: calc(var(--ui-radius) * .6); --ui-radius-lg: calc(var(--ui-radius) * 1.6); --ui-pill: 999px;
  --ui-control-sm: 32px; --ui-control: 40px; --ui-control-lg: 48px;
  --ui-topbar-height: 64px; --ui-sidebar-width: 240px; --ui-content-max: 1200px; --ui-border-width: 1px; --ui-topbar-blur: 16px;
  /* ThemeKit writes concrete duration values. Multiplying a CSS time by a
     number with calc() is not supported consistently across browsers. */
  --ui-motion-scale:1; --ui-fast:120ms; --ui-motion:200ms; --ui-slow:320ms; --ui-ripple:520ms; --ui-demo-float:4200ms; --ui-demo-pulse:2400ms; --ui-ease-out:cubic-bezier(.2,.75,.25,1); --ui-ease-pop:cubic-bezier(.2,.75,.25,1); --ui-press-scale:.975;
  --ui-shadow-alpha: 8%; --ui-shadow-lg-alpha: 16%; --ui-shadow-sm: 0 1px 3px color-mix(in srgb, var(--ui-ink) var(--ui-shadow-alpha), transparent); --ui-shadow-lg: 0 20px 50px color-mix(in srgb, var(--ui-ink) var(--ui-shadow-lg-alpha), transparent);
  --ui-brand: #17604b; --ui-brand-hover: #114a3a; --ui-brand-soft: #e4f2ec; --ui-accent: #cb8431;
}

:root,[data-ui-mode="light"] { --ui-page:#f7f8f6; --ui-surface:#fff; --ui-surface-subtle:#f0f3f1; --ui-surface-elevated:#fff; --ui-ink:#121815; --ui-text:#1e2823; --ui-text-secondary:#4b5751; --ui-muted:#7e8b84; --ui-border:#dde3df; --ui-border-strong:#a8b1ac; --ui-on-brand:#fff; --ui-danger:#c73c41; --ui-success:#287862; --ui-warning:#cb8431; --ui-focus:0 0 0 3px color-mix(in srgb, var(--ui-brand) 25%, transparent); }
[data-ui-mode="dark"] { --ui-page:#0a0e0c; --ui-surface:#121815; --ui-surface-subtle:#1e2823; --ui-surface-elevated:#252f2a; --ui-ink:#f9faf9; --ui-text:#f0f3f1; --ui-text-secondary:#cbd3ce; --ui-muted:#8e9a93; --ui-border:#34413a; --ui-border-strong:#66736c; --ui-on-brand:#fff; --ui-brand-soft:color-mix(in srgb, var(--ui-brand) 24%, var(--ui-surface)); --ui-focus:0 0 0 3px color-mix(in srgb, var(--ui-brand) 35%, transparent); }

[data-ui-preset="ocean"] { --ui-brand:#256f9e; --ui-brand-hover:#185779; --ui-brand-soft:#dceef7; --ui-accent:#d38347; }
[data-ui-preset="plum"] { --ui-brand:#76518b; --ui-brand-hover:#5d3b70; --ui-brand-soft:#eee5f2; --ui-accent:#c87568; }
[data-ui-preset="clay"] { --ui-brand:#a34f43; --ui-brand-hover:#803c34; --ui-brand-soft:#f5e5df; --ui-accent:#bf7d37; }
[data-ui-preset="rose"] { --ui-brand:#a73d63; --ui-brand-hover:#842e4c; --ui-brand-soft:#f7e2ea; --ui-accent:#d58b70; }
[data-ui-preset="indigo"] { --ui-brand:#4d56a8; --ui-brand-hover:#384184; --ui-brand-soft:#e7e9f8; --ui-accent:#c077a9; }
[data-ui-preset="mint"] { --ui-brand:#147d70; --ui-brand-hover:#0c6258; --ui-brand-soft:#dff3ee; --ui-accent:#c58b45; }
[data-ui-preset="sun"] { --ui-brand:#956019; --ui-brand-hover:#71470f; --ui-brand-soft:#f8ecd5; --ui-accent:#c64f3f; }
[data-ui-preset="mono"] { --ui-brand:#373b39; --ui-brand-hover:#1e2220; --ui-brand-soft:#e9ecea; --ui-accent:#747c78; }
[data-ui-preset="cyber"] { --ui-brand:#6557d2; --ui-brand-hover:#4e43ad; --ui-brand-soft:#ece9ff; --ui-accent:#078b83; }

@media (prefers-reduced-motion:reduce) { :root { --ui-motion-scale:.01; } }
