:root {
    --nu-brand-sky: #66c9ff; --nu-brand-violet: #8353fd; --nu-brand-plum: #3e016f;
    --nu-brand-magenta: #e60054; --nu-brand-saffron: #ffc700; --nu-brand-orange: #ff592c;
    --nu-font-sans: "Articulat CF", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    --nu-font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;
    --nu-space-1: 4px; --nu-space-2: 8px; --nu-space-3: 12px; --nu-space-4: 16px;
    --nu-space-5: 20px; --nu-space-6: 24px; --nu-space-7: 32px; --nu-space-8: 40px;
    --nu-space-9: 48px; --nu-space-10: 64px;
    --nu-r-xs: 6px; --nu-r-sm: 8px; --nu-r-md: 12px; --nu-r-lg: 16px;
    --nu-r-xl: 24px; --nu-r-pill: 999px; --nu-topbar-h: 60px; --nu-gutter: 16px;
    --nu-code-bg: #0e1218; --nu-code-text: #e6edf3;
    --bs-font-sans-serif: var(--nu-font-sans); --bs-font-monospace: var(--nu-font-mono);
    --bs-border-radius: var(--nu-r-md); --bs-border-radius-sm: var(--nu-r-sm);
    --bs-border-radius-lg: var(--nu-r-lg); --bs-border-radius-xl: var(--nu-r-xl);
}
[data-bs-theme="dark"] {
    color-scheme: dark;
    --nu-bg: #0b0e13; --nu-surface-1: #12161d; --nu-surface-2: #181d26; --nu-surface-3: #222833; --nu-surface-inset: #0e1218;
    --nu-line: rgba(220,235,255,.065); --nu-line-strong: rgba(220,235,255,.12);
    --nu-text: #eef3f8; --nu-text-muted: #9aa6b5; --nu-text-subtle: #6c7786;
    --nu-primary: #66c9ff; --nu-primary-hover: #86d5ff; --nu-primary-text: #7dd1ff; --nu-on-primary: #04121c; --nu-primary-soft: rgba(102,201,255,.14);
    --nu-secondary: #8353fd; --nu-secondary-text: #b39aff; --nu-secondary-soft: rgba(131,83,253,.20);
    --nu-danger: #ff4f8b; --nu-danger-soft: rgba(230,0,84,.17); --nu-success: #3dd68c; --nu-success-soft: rgba(61,214,140,.15); --nu-warning: #ffc700; --nu-warning-soft: rgba(255,199,0,.14);
    --nu-art-a: #11151c; --nu-art-b: #161b23; --nu-art-c: #1d232d; --nu-art-accent: rgba(102,201,255,.18);
    --nu-shadow-card: none; --nu-shadow-pop: 0 18px 48px -12px rgba(0,0,0,.7); --nu-focus-ring: 0 0 0 3px rgba(102,201,255,.45);
}
[data-bs-theme="light"] {
    color-scheme: light;
    --nu-bg: #f4f7fa; --nu-surface-1: #fff; --nu-surface-2: #eff3f7; --nu-surface-3: #e3e9f0; --nu-surface-inset: #f9fbfc;
    --nu-line: rgba(10,25,40,.07); --nu-line-strong: rgba(10,25,40,.13);
    --nu-text: #0b1520; --nu-text-muted: #52606f; --nu-text-subtle: #84909c;
    --nu-primary: #0a78b8; --nu-primary-hover: #08679f; --nu-primary-text: #086aa3; --nu-on-primary: #fff; --nu-primary-soft: rgba(102,201,255,.22);
    --nu-secondary: #7042f0; --nu-secondary-text: #5f2fe0; --nu-secondary-soft: rgba(131,83,253,.12);
    --nu-danger: #c8004a; --nu-danger-soft: rgba(230,0,84,.10); --nu-success: #0f8a55; --nu-success-soft: rgba(15,138,85,.12); --nu-warning: #9a6b00; --nu-warning-soft: rgba(255,199,0,.20);
    --nu-art-a: #eaf0f5; --nu-art-b: #e2eaf1; --nu-art-c: #d7e1ea; --nu-art-accent: rgba(102,201,255,.30);
    --nu-shadow-card: 0 1px 2px rgba(10,25,40,.04), 0 10px 30px -16px rgba(10,25,40,.20); --nu-shadow-pop: 0 18px 48px -12px rgba(10,25,40,.28); --nu-focus-ring: 0 0 0 3px rgba(10,120,184,.35);
}
[data-bs-theme] {
    --bs-body-bg: var(--nu-bg); --bs-body-color: var(--nu-text); --bs-secondary-color: var(--nu-text-muted);
    --bs-link-color: var(--nu-primary-text); --bs-link-hover-color: var(--nu-primary-hover);
    --bs-border-color: var(--nu-line-strong); --bs-tertiary-bg: var(--nu-surface-2);
}
@media (min-width: 768px) { :root { --nu-gutter: 24px; } }
@media (min-width: 1200px) { :root { --nu-gutter: 32px; } }
@media (min-width: 1920px) { :root { --nu-gutter: 40px; } }
