/**
 * NSM Design System 4.0 — Master Design Tokens
 * Single Source of Truth for all NSMEDIA & wiki.ngoisao.media plugins.
 */

:root {
    /* Color Scheme */
    color-scheme: dark;

    /* Surfaces - Obsidian Architecture */
    --nsm-bg-canvas: #080b11;
    --nsm-bg-surface-1: #0e1320;
    --nsm-bg-surface-2: #131929;
    --nsm-bg-surface-3: #182136;
    --nsm-bg-surface-4: #1f2b45;
    --nsm-bg-surface-hover: rgba(148, 163, 184, 0.08);

    /* Mapped standard variables */
    --nsm-bg-body: var(--nsm-bg-canvas);
    --nsm-bg-card: var(--nsm-bg-surface-2);
    --nsm-bg-header: var(--nsm-bg-surface-1);
    --nsm-bg-muted: var(--nsm-bg-surface-1);
    --nsm-surface-canvas: var(--nsm-bg-canvas);
    --nsm-surface-card: var(--nsm-bg-surface-2);
    --nsm-surface-subtle: var(--nsm-bg-surface-1);
    --nsm-surface-muted: var(--nsm-bg-surface-2);

    /* Borders */
    --nsm-border-subtle: rgba(148, 163, 184, 0.10);
    --nsm-border: rgba(148, 163, 184, 0.18);
    --nsm-border-strong: rgba(148, 163, 184, 0.28);
    --nsm-border-focus: rgba(250, 204, 21, 0.5);
    --nsm-surface-border: var(--nsm-border);
    --nsm-surface-border-subtle: var(--nsm-border-subtle);
    --nsm-surface-border-hover: rgba(250, 204, 21, 0.35);

    /* Typography Text Colors (High Contrast, WCAG AAA compliant) */
    --nsm-text-primary: #ffffff;
    --nsm-text-title: #ffffff;
    --nsm-text-body: #cbd5e1;
    --nsm-text-muted: #94a3b8;
    --nsm-text-subtle: #64748b;
    --nsm-text-disabled: #475569;
    --nsm-text-inverse: #080b11;

    /* Brand Royal Gold */
    --nsm-primary: #facc15;
    --nsm-primary-hover: #fde047;
    --nsm-primary-light: rgba(250, 204, 21, 0.12);
    --nsm-primary-border: rgba(250, 204, 21, 0.32);
    --nsm-primary-rgb: 250, 204, 21;
    --nsm-gradient-gold: linear-gradient(135deg, #fde047 0%, #facc15 60%, #eab308 100%);
    --nsm-gradient-gold-hover: linear-gradient(135deg, #fef08a 0%, #fde047 100%);

    /* Semantic Status */
    --nsm-success: #10b981;
    --nsm-success-hover: #059669;
    --nsm-success-light: rgba(16, 185, 129, 0.12);
    --nsm-success-border: rgba(16, 185, 129, 0.32);

    --nsm-warning: #f59e0b;
    --nsm-warning-hover: #d97706;
    --nsm-warning-light: rgba(245, 158, 11, 0.12);
    --nsm-warning-border: rgba(245, 158, 11, 0.32);

    --nsm-danger: #f43f5e;
    --nsm-danger-hover: #e11d48;
    --nsm-danger-light: rgba(244, 63, 94, 0.12);
    --nsm-danger-border: rgba(244, 63, 94, 0.32);

    --nsm-info: #0ea5e9;
    --nsm-info-hover: #0284c7;
    --nsm-info-light: rgba(14, 165, 233, 0.12);
    --nsm-info-border: rgba(14, 165, 233, 0.32);

    --nsm-purple: #8b5cf6;
    --nsm-purple-light: rgba(139, 92, 246, 0.12);
    --nsm-purple-border: rgba(139, 92, 246, 0.32);

    --nsm-cyan: #06b6d4;
    --nsm-cyan-light: rgba(6, 182, 212, 0.12);
    --nsm-cyan-border: rgba(6, 182, 212, 0.32);

    /* Role Accent (Default Admin Gold) */
    --nsm-role-accent: #facc15;
    --nsm-role-glow: rgba(250, 204, 21, 0.25);
    --nsm-role-light: rgba(250, 204, 21, 0.12);

    /* Typography Families */
    --nsm-font-primary: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --nsm-font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;
    --nsm-font-code: var(--nsm-font-mono);
    --font-family-poppins: var(--nsm-font-primary);

    /* Radii */
    --nsm-radius-sm: 8px;
    --nsm-radius-md: 12px;
    --nsm-radius-lg: 16px;
    --nsm-radius-xl: 20px;
    --nsm-radius-full: 9999px;

    /* Shadows & Elevation */
    --nsm-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.3);
    --nsm-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.35);
    --nsm-shadow-md: 0 6px 18px rgba(0, 0, 0, 0.45);
    --nsm-shadow-lg: 0 14px 40px rgba(0, 0, 0, 0.6);
    --nsm-shadow-glow: 0 0 24px var(--nsm-role-glow);
    --nsm-shadow-gold: 0 0 24px rgba(250, 204, 21, 0.3);

    /* Transitions */
    --nsm-transition-fast: 0.15s ease;
    --nsm-transition-normal: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --nsm-transition-bounce: 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ═══ ROLE IDENTITY OVERRIDES ═══ */
body[data-role="team_leader"], .wrap[data-role="team_leader"] {
    --nsm-role-accent: #10b981;
    --nsm-role-glow: rgba(16, 185, 129, 0.28);
    --nsm-role-light: rgba(16, 185, 129, 0.12);
}

body[data-role="idol"], .wrap[data-role="idol"] {
    --nsm-role-accent: #06b6d4;
    --nsm-role-glow: rgba(6, 182, 212, 0.28);
    --nsm-role-light: rgba(6, 182, 212, 0.12);
}

body[data-role="ctv_td"], .wrap[data-role="ctv_td"] {
    --nsm-role-accent: #8b5cf6;
    --nsm-role-glow: rgba(139, 92, 246, 0.28);
    --nsm-role-light: rgba(139, 92, 246, 0.12);
}

body[data-role="ctv_gt"], body[data-role="ctv"],
.wrap[data-role="ctv_gt"], .wrap[data-role="ctv"] {
    --nsm-role-accent: #f97316;
    --nsm-role-glow: rgba(249, 115, 22, 0.28);
    --nsm-role-light: rgba(249, 115, 22, 0.12);
}
