/* XinXin 14 · Foundation | the only new source of visual tokens.
   The original theme choices remain in user preferences, but all page components
   share the same radius/spacing/type/contrast/shadow language. */
:root {
  --v14-bg: #f5f7fb;
  --v14-surface: #ffffff;
  --v14-surface-soft: #f8faff;
  --v14-ink: #1e293b;
  --v14-body: #41516a;
  --v14-subtle: #738299;
  --v14-edge: #e3e9f2;
  --v14-strong-edge: #d6dfec;
  --v14-accent: #5267d6;  /* calibrated, intentionally independent of legacy neon site accent */
  --v14-accent-ink: #354ca7;
  --v14-accent-soft: #edf1ff;
  --v14-mint: #149b83;
  --v14-warning: #b47a28;
  --v14-error: #c4495e;
  --v14-r-xs: 8px;
  --v14-r-sm: 11px;
  --v14-r-md: clamp(13px, calc(var(--ui-radius, 20px) - 5px), 18px);
  --v14-r-lg: clamp(16px, var(--ui-radius, 20px), 26px);
  --v14-r-xl: 28px;
  --v14-space-1: 4px;
  --v14-space-2: 8px;
  --v14-space-3: 12px;
  --v14-space-4: 16px;
  --v14-space-5: 20px;
  --v14-space-6: 24px;
  --v14-space-8: 32px;
  --v14-shadow-xs: 0 2px 7px rgba(30,44,77,.025);
  --v14-shadow-sm: 0 7px 24px rgba(30,44,77,.048),0 1px 4px rgba(30,44,77,.018);
  --v14-shadow-md: 0 15px 48px rgba(30,44,77,.077),0 1px 6px rgba(30,44,77,.022);
  --v14-shadow-lg: 0 30px 85px rgba(24,41,82,.11);
  --v14-ease: cubic-bezier(.2,.75,.25,1);
  --v14-fast: 150ms;
  --v14-smooth: 260ms;
  --chart-primary: #5067e9;
  --chart-secondary: #7da8fb;
  --chart-mint: #18a68b;
  --chart-ink: #344563;
  --chart-muted: #8896aa;
  --chart-line: #e7edf6;
  --bg: var(--v14-bg);
  --panel: var(--v14-surface);
  --panel-soft: var(--v14-surface-soft);
  --text: var(--v14-ink);
  --text-2: var(--v14-body);
  --muted: var(--v14-subtle);
  --line: var(--v14-edge);
  --line-strong: var(--v14-strong-edge);
  --accent: var(--v14-accent);
  --accent-soft: var(--v14-accent-soft);
  --radius: var(--v14-r-lg);
  --radius-md: var(--v14-r-md);
  --radius-sm: var(--v14-r-sm);
  --shadow-sm: var(--v14-shadow-sm);
  --shadow: var(--v14-shadow-md);
}
html {scroll-padding-top: 95px; color-scheme:light; background:var(--v14-bg)}
body.app-body {color:var(--v14-ink);font-size:14px;line-height:1.6;background:var(--v14-bg);font-feature-settings:'tnum' 1; -webkit-font-smoothing:antialiased}
body.app-body::before {content:'';position:fixed;inset:0 0 auto;z-index:-1;height:470px;pointer-events:none;background:radial-gradient(80% 92% at 90% -20%,rgba(99,125,237,.11),transparent 68%),radial-gradient(70% 70% at 0% -20%,rgba(115,196,186,.08),transparent 73%)}
body.app-body .app-mesh {opacity:.24;filter:saturate(.7)}
body.app-body .app-mesh i {opacity:.12}
body.app-body :is(button,input,select,textarea) {font-family:inherit}
body.app-body :is(a,button,input,textarea,select,summary) { -webkit-tap-highlight-color:transparent}
body.app-body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid rgba(79,105,223,.35)!important;outline-offset:3px;box-shadow:0 0 0 6px rgba(79,105,223,.065)!important}
body.app-body ::selection {background:#e1e8ff;color:#283f92}
body.app-body [hidden] {display:none!important}
body.app-body .skip-to-content {position:fixed;top:-100px;left:12px;z-index:9999;background:#263c88;color:white;padding:10px 18px;border-radius:12px;box-shadow:var(--v14-shadow-md)}
body.app-body .skip-to-content:focus {top:12px}
body.app-body :is(h1,h2,h3,h4,strong) {text-wrap:pretty}
body.app-body p {overflow-wrap:break-word}
body.app-body :is(code,pre) {font-family:ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',monospace}
body.app-body code {font-size:.92em}
body.app-body :is(.page-main,.multipage-content,.user-page-content,.admin-content-v6,.module-section,.module-card) {min-width:0;max-width:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
html[data-desktop-motion="off"] *,html[data-mobile-motion="off"] * {scroll-behavior:auto}

/* Modern UI is light by default, including users of a legacy saturated theme. */
body.app-body {background:#f5f7fb!important}
