/* Shared visual system. Display only; all financial and access rules remain upstream. */
@font-face{font-family:Manrope;src:url('fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{
  --ws-font:'Manrope','PingFang SC','Microsoft YaHei',sans-serif;
  --ws-bg:#f5f6f8;--ws-panel:#fff;--ws-soft:#f8f9fb;--ws-ink:#202937;--ws-muted:#657082;--ws-line:#e3e7ed;
  --ws-accent:#315fd5;--ws-accent-hover:#254db5;--ws-accent-soft:#edf2ff;--ws-positive:#1262cc;--ws-negative:#d83a49;
  --ws-success:#24745c;--ws-success-soft:#edf7f2;--ws-warning:#8b6627;--ws-warning-soft:#fff8e9;--ws-danger-soft:#fff0f1;
  --ws-radius:12px;--ws-radius-lg:16px;--ws-radius-sm:8px;
  --ws-space-0:0;--ws-space-25:2px;--ws-space-50:4px;--ws-space-75:8px;--ws-space-100:12px;--ws-space-200:16px;--ws-space-300:24px;--ws-space-400:32px;--ws-space-500:40px;--ws-space-600:48px;--ws-space-700:64px;
  --ws-heading-5:600 24px/32px var(--ws-font);--ws-heading-6:600 20px/28px var(--ws-font);
  --ws-title-2:600 18px/28px var(--ws-font);--ws-title-3:500 16px/24px var(--ws-font);--ws-title-4:500 14px/20px var(--ws-font);
  --ws-body-3:400 16px/24px var(--ws-font);--ws-body-6:400 14px/20px var(--ws-font);
  --ws-caption-3:600 12px/16px var(--ws-font);--ws-caption-5:400 12px/16px var(--ws-font);
  --ws-button-md:600 16px/24px var(--ws-font);--ws-button-sm:600 14px/20px var(--ws-font);--ws-button-xsm:600 12px/16px var(--ws-font);
  --ws-ease:cubic-bezier(.22,1,.36,1);--ws-ring:0 0 0 4px #315fd526;
}
:root[data-theme=dark],[data-theme=dark]{
  --ws-bg:#181818;--ws-panel:#1f1f1f;--ws-soft:#272727;--ws-ink:#f0f1f3;--ws-muted:#adb4c1;--ws-line:#3c3c3c;
  --ws-accent:#9bb8ff;--ws-accent-hover:#b7cbff;--ws-accent-soft:#313131;--ws-positive:#9bb8ff;--ws-negative:#ff8c98;
  --ws-success:#97ceb6;--ws-success-soft:#272727;--ws-warning:#e0bd83;--ws-warning-soft:#272727;--ws-danger-soft:#272727;
}
.heading-5{font:var(--ws-heading-5)}.heading-6{font:var(--ws-heading-6)}.title-2{font:var(--ws-title-2)}.title-3{font:var(--ws-title-3)}.title-4{font:var(--ws-title-4)}
.body-3{font:var(--ws-body-3)}.body-6{font:var(--ws-body-6)}.caption-3{font:var(--ws-caption-3)}.caption-5{font:var(--ws-caption-5)}
.button-md{font:var(--ws-button-md)}.button-sm{font:var(--ws-button-sm)}.button-xsm{font:var(--ws-button-xsm)}
@media(prefers-reduced-motion:reduce){:root{--ws-ease:step-end}}
