/* NNSR v0.9 — shared by every web workspace and the native mobile bundle. */
:root, [data-theme="light"] {
  color-scheme: light;
  --nnsr-font-sans: "Segoe UI Variable", "Segoe UI", "PingFang SC", "Microsoft YaHei UI", "Noto Sans SC", system-ui, sans-serif;
  --nnsr-font-mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  --nnsr-bg: #efedf5;
  --nnsr-login-bg: #e4dfed;
  --nnsr-bg2: #e8e5ef;
  --nnsr-surface: #f7f5fa;
  --nnsr-surface2: #ece8f2;
  --nnsr-card: #f7f5fa;
  --nnsr-line: #dedbe5;
  --nnsr-line2: #a69eb3;
  --nnsr-text: #202c3d;
  --nnsr-text2: #4d5d72;
  --nnsr-text3: #627389;
  --nnsr-blue: #70427f;
  --nnsr-blue2: #60376e;
  --nnsr-cyan: #24746f;
  --nnsr-violet: #7d438a;
  --nnsr-ambient-purple: 113, 76, 148;
  --nnsr-ambient-teal: 76, 129, 128;
  --nnsr-tool-bg: #e7efed;
  --nnsr-tool-ink: #385f59;
  --nnsr-tool-line: #bfceca;
  --nnsr-ok: #24734f;
  --nnsr-warn: #98620e;
  --nnsr-err: #b83d4d;
  --nnsr-primary: #70427f;
  --nnsr-accent-rgb: 112 66 127;
  --nnsr-on-primary: #ffffff;
  --nnsr-accent-soft: #eee8f2;
  --nnsr-danger-soft: #fcedf0;
  --nnsr-warning-soft: #faf0dd;
  --nnsr-success-soft: #e8f3ed;
  --nnsr-shadow: 0 2px 6px #24365104, 0 12px 32px #24365106;
  --nnsr-overlay-shadow: 0 24px 70px #172c4b1c;
  --nnsr-radius: 10px;
  --nnsr-control-radius: 8px;
  --nnsr-focus: 0 0 0 3px #7d438a2b;
  --nnsr-button-shadow: 0 1px 2px #2037540a;
}
[data-theme="dark"] {
  color-scheme: dark;
  --nnsr-bg: #191b25;
  --nnsr-login-bg: #191b25;
  --nnsr-bg2: #202330;
  --nnsr-surface: #272a39;
  --nnsr-surface2: #333749;
  --nnsr-card: #2c3040;
  --nnsr-line: #47495f;
  --nnsr-line2: #77768f;
  --nnsr-text: #e7edf5;
  --nnsr-text2: #b6c2d2;
  --nnsr-text3: #94a5ba;
  --nnsr-blue: #c7b3d9;
  --nnsr-blue2: #b49bc9;
  --nnsr-cyan: #8bc7bd;
  --nnsr-violet: #c7b3d9;
  --nnsr-ambient-purple: 165, 129, 201;
  --nnsr-ambient-teal: 111, 166, 165;
  --nnsr-tool-bg: #354545;
  --nnsr-tool-ink: #c3d9d3;
  --nnsr-tool-line: #607b75;
  --nnsr-ok: #8dccaa;
  --nnsr-warn: #e5be77;
  --nnsr-err: #f09ca8;
  --nnsr-primary: #c7b3d9;
  --nnsr-accent-rgb: 199 179 217;
  --nnsr-on-primary: #291533;
  --nnsr-accent-soft: #3e354c;
  --nnsr-danger-soft: #3b252e;
  --nnsr-warning-soft: #352e22;
  --nnsr-success-soft: #21392e;
  --nnsr-shadow: 0 2px 6px #0000000a, 0 12px 32px #00000014;
  --nnsr-overlay-shadow: 0 24px 70px #00000045;
}
/* Legacy vocabulary is an alias, never a second palette. The selector matches
   page-local theme rules so load order, not stronger selectors, chooses it. */
:root, [data-theme="light"], [data-theme="dark"] {
  --bg:var(--nnsr-bg); --bg2:var(--nnsr-bg2);
  --surface:var(--nnsr-surface); --surface2:var(--nnsr-surface2);
  --card:var(--nnsr-card); --panel:var(--nnsr-surface); --panel2:var(--nnsr-surface2);
  --line:var(--nnsr-line); --line2:var(--nnsr-line2); --border:var(--nnsr-line); --border2:var(--nnsr-line2);
  --text:var(--nnsr-text); --ink:var(--nnsr-text); --text2:var(--nnsr-text2); --text3:var(--nnsr-text3); --muted:var(--nnsr-text3);
  --p400:var(--nnsr-blue); --p500:var(--nnsr-primary); --p600:var(--nnsr-primary); --p700:var(--nnsr-blue2); --p:var(--nnsr-blue);
  --c400:var(--nnsr-cyan); --c500:var(--nnsr-cyan); --c:var(--nnsr-cyan); --cyan:var(--nnsr-cyan); --cyan-2:var(--nnsr-blue2);
  --accent:var(--nnsr-blue); --violet:var(--nnsr-violet); --purple:var(--nnsr-violet);
  --ok:var(--nnsr-ok); --success:var(--nnsr-ok); --warn:var(--nnsr-warn); --err:var(--nnsr-err); --danger:var(--nnsr-err);
  --shadow:var(--nnsr-shadow); --glow:var(--nnsr-shadow);
  --header-bg:var(--nnsr-surface); --headerbg:var(--nnsr-surface); --sidebar-bg:var(--nnsr-bg2); --sidebarbg:var(--nnsr-bg2);
  --mono:var(--nnsr-font-mono); --sans:var(--nnsr-font-sans);
  --r:var(--nnsr-radius); --r8:8px; --r12:12px; --r16:16px;
  --nnsr-ring:var(--nnsr-focus); --safe-bottom:max(18px, env(safe-area-inset-bottom));
}
