/* BULKNODES / SIGNAL — PREMIUM PURPLE THEME */
/* Black + White + Purple | Solid colors only | No gradients */

:root {
    color-scheme: light;
    --accent: #7955D9;
    --accent-hover: #6843C7;
    --on-accent: #FFFFFF;

    --bg: #F6F5F9;
    --surface: #FFFFFF;
    --raised: #FFFFFF;
    --border: #E5E1ED;
    --text: #191720;
    --muted: #777383;

    --radius: 12px;
    --font: Inter, ui-sans-serif, system-ui, sans-serif;
    --font-heading: Inter, ui-sans-serif, system-ui, sans-serif;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --accent: #A78BFA;
    --accent-hover: #B8A3FF;
    --on-accent: #171321;

    --bg: #101014;
    --surface: #18171E;
    --raised: #201E27;
    --border: #302B3B;
    --text: #F5F3FA;
    --muted: #A39CAF;

    --radius: 12px;
}

/* BASE */
html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font);
    letter-spacing: -0.01em;
    -webkit-font-smoothing: antialiased;
}

/* HEADINGS */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    letter-spacing: -0.035em;
    font-weight: 700;
}

/* CARDS & PANELS */
.card,
[class*="card"],
[class*="panel"],
[class*="widget"] {
    border-color: var(--border);
    border-radius: var(--radius);
    box-shadow: 0 2px 8px rgba(25, 18, 45, 0.025);
}

/* BUTTONS */
button,
[role="button"],
input[type="submit"],
a.button,
.btn {
    border-radius: 9px;
    font-weight: 600;
    transition: background-color 0.18s ease,
                border-color 0.18s ease,
                color 0.18s ease;
}

/* INPUTS */
input,
select,
textarea {
    border-radius: 9px;
    border-color: var(--border);
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--accent);
    outline: 2px solid rgba(121, 85, 217, 0.14);
    outline-offset: 1px;
}

/* LINKS */
a {
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

a:hover {
    color: var(--accent);
}

/* TABLES */
table {
    border-collapse: separate;
    border-spacing: 0;
}

th {
    font-weight: 650;
    color: var(--muted);
}

td, th {
    border-color: var(--border);
}

/* BADGES & STATUS */
.badge,
[class*="badge"],
[class*="tag"] {
    border-radius: 7px;
    font-weight: 600;
}

/* NAVIGATION */
nav a,
aside a,
[role="navigation"] a {
    border-radius: 8px;
    transition: background-color 0.18s ease,
                color 0.18s ease;
}

/* SELECTION */
::selection {
    background: #DCD0FF;
    color: #211638;
}

/* SCROLLBAR */
* {
    scrollbar-width: thin;
    scrollbar-color: #B9A9D9 transparent;
}

:root[data-theme="dark"] * {
    scrollbar-color: #49405B transparent;
}

/* REDUCE MOTION */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}