:root {
    --color-primary: #6a45e3;
    --color-primary-strong: #4e33b7;
    --color-mint: #64d6c8;
    --color-mint-soft: #dff5f2;
    --color-plum: #291c59;
    --color-ink: #1f173f;
    --color-muted: #625d7d;
    --color-surface: #eef8f6;
    --color-surface-strong: #def3ef;
    --color-white: #ffffff;
    --font-display: "Poppins", "Segoe UI", sans-serif;
    --font-body: "Manrope", "Segoe UI", sans-serif;
    --font-mono: "IBM Plex Mono", "SFMono-Regular", monospace;
    --body-background:
        radial-gradient(circle at top left, rgba(100, 214, 200, 0.2), transparent 24%),
        linear-gradient(180deg, var(--color-surface) 0%, #fbfffe 52%, var(--color-surface) 100%);
    --landing-background:
        radial-gradient(circle at 12% 8%, rgba(100, 214, 200, 0.08), transparent 22%),
        radial-gradient(circle at 88% 12%, rgba(106, 69, 227, 0.08), transparent 26%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.62) 0%, rgba(238, 248, 246, 0.78) 100%);
    --theme-glow-primary: rgba(106, 69, 227, 0.16);
    --theme-glow-secondary: rgba(100, 214, 200, 0.18);
    --theme-grid-line: rgba(106, 69, 227, 0.05);
    --theme-header-bg: rgba(255, 255, 255, 0.72);
    --theme-header-bg-scrolled: rgba(255, 255, 255, 0.86);
    --theme-header-border: rgba(41, 28, 89, 0.08);
    --theme-header-shadow: 0 20px 40px rgba(41, 28, 89, 0.08);
    --theme-header-link: var(--color-ink);
    --theme-header-link-hover: var(--color-ink);
    --theme-brand-shell-bg: transparent;
    --theme-brand-shell-border: transparent;
    --theme-brand-shell-shadow: none;
    --theme-brand-padding: 0;
    --theme-brand-radius: 0;
    --theme-brand-logo-filter: drop-shadow(0 16px 24px rgba(106, 69, 227, 0.14));
    --theme-site-cta-bg: rgba(106, 69, 227, 0.1);
    --theme-site-cta-border: transparent;
    --theme-site-cta-shadow: none;
    --theme-button-border: rgba(41, 28, 89, 0.12);
    --theme-button-primary-bg: linear-gradient(135deg, var(--color-primary), #7a52ef);
    --theme-button-primary-shadow: 0 24px 44px rgba(106, 69, 227, 0.24);
    --theme-button-secondary-bg: rgba(255, 255, 255, 0.82);
    --theme-button-secondary-text: var(--color-ink);
    --theme-hero-background:
        radial-gradient(circle at 78% 18%, rgba(100, 214, 200, 0.08), transparent 24%),
        linear-gradient(180deg, #f7fbff 0%, #eef7f6 100%);
    --theme-hero-border: rgba(41, 28, 89, 0.08);
    --theme-signal-border: rgba(41, 28, 89, 0.08);
    --theme-signal-bg: rgba(255, 255, 255, 0.74);
    --theme-signal-text: var(--color-plum);
    --theme-signal-dot-shadow: 0 0 0 0.35rem rgba(106, 69, 227, 0.1);
    --theme-hero-panel-border: rgba(41, 28, 89, 0.08);
    --theme-hero-panel-bg: rgba(255, 255, 255, 0.84);
    --theme-hero-panel-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
    --theme-console-bg:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(240, 248, 255, 0.96)),
        rgba(255, 255, 255, 0.92);
    --theme-console-border: rgba(41, 28, 89, 0.1);
    --theme-console-shadow: 0 28px 60px rgba(33, 26, 84, 0.14);
    --theme-console-accent: radial-gradient(circle, rgba(106, 69, 227, 0.12), transparent 70%);
    --theme-console-inner-border: rgba(41, 28, 89, 0.06);
    --theme-console-text-muted: rgba(98, 93, 125, 0.88);
    --theme-console-product-bg: rgba(106, 69, 227, 0.1);
    --theme-console-product-color: var(--color-plum);
    --theme-console-card-border: rgba(41, 28, 89, 0.08);
    --theme-console-card-bg: rgba(255, 255, 255, 0.72);
    --theme-console-pill-bg: rgba(255, 255, 255, 0.88);
    --theme-console-pill-text: var(--color-plum);
    --theme-console-divider: rgba(41, 28, 89, 0.08);
    --theme-projected-surface:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(247, 251, 255, 0.96)),
        rgba(255, 255, 255, 0.92);
    --theme-panel-border: rgba(41, 28, 89, 0.08);
    --theme-panel-shadow: 0 24px 54px rgba(18, 12, 41, 0.08);
    --theme-logo-fade-start: linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0));
    --theme-logo-fade-end: linear-gradient(270deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0));
    --theme-card-bg:
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 251, 255, 0.96)),
        rgba(255, 255, 255, 0.9);
    --theme-card-border: rgba(41, 28, 89, 0.08);
    --theme-card-shadow: 0 24px 56px rgba(18, 12, 41, 0.08);
    --theme-card-plain-bg: rgba(255, 255, 255, 0.74);
    --theme-chip-bg-strong: rgba(106, 69, 227, 0.1);
    --theme-chip-text-strong: var(--color-plum);
    --theme-floating-chip-border: rgba(255, 255, 255, 0.74);
    --theme-floating-chip-bg: rgba(255, 255, 255, 0.7);
    --theme-floating-chip-text: var(--color-plum);
    --theme-floating-chip-shadow: 0 16px 24px rgba(17, 12, 42, 0.08);
    --theme-shift-before-bg:
        linear-gradient(180deg, rgba(41, 28, 89, 0.06), rgba(255, 255, 255, 0.88)),
        rgba(255, 255, 255, 0.88);
    --theme-shift-after-bg:
        linear-gradient(180deg, rgba(100, 214, 200, 0.18), rgba(255, 255, 255, 0.88)),
        rgba(255, 255, 255, 0.88);
    --theme-metric-mint-bg:
        linear-gradient(180deg, rgba(100, 214, 200, 0.18), rgba(255, 255, 255, 0.92)),
        rgba(255, 255, 255, 0.9);
    --theme-metric-primary-bg:
        linear-gradient(180deg, rgba(106, 69, 227, 0.12), rgba(255, 255, 255, 0.92)),
        rgba(255, 255, 255, 0.9);
    --theme-accent-icon-bg:
        linear-gradient(135deg, rgba(106, 69, 227, 0.14), rgba(100, 214, 200, 0.18)),
        rgba(255, 255, 255, 0.82);
    --theme-metric-gradient-text: linear-gradient(135deg, #291c59 0%, #6a45e3 90%);
    --theme-faq-icon: var(--color-primary);
    --theme-contact-action-border: rgba(41, 28, 89, 0.08);
    --theme-contact-action-bg: rgba(255, 255, 255, 0.72);
    --theme-input-border: rgba(41, 28, 89, 0.1);
    --theme-input-bg: rgba(255, 255, 255, 0.84);
    --theme-input-placeholder: rgba(98, 93, 125, 0.72);
    --theme-input-focus-border: rgba(106, 69, 227, 0.4);
    --theme-input-focus-shadow: 0 0 0 0.28rem rgba(106, 69, 227, 0.12);
    --theme-feedback-border: rgba(41, 28, 89, 0.12);
    --theme-feedback-bg: rgba(255, 255, 255, 0.9);
    --theme-footer-link: var(--color-ink);
    --theme-mobile-nav-bg: rgba(255, 255, 255, 0.96);
    --theme-mobile-nav-shadow: 0 20px 40px rgba(17, 12, 42, 0.08);
}

html[data-theme="dark"] {
    --color-primary: #7c6bff;
    --color-primary-strong: #5b4ce6;
    --color-mint: #39e0d0;
    --color-mint-soft: #122a33;
    --color-plum: #cfc9ff;
    --color-ink: #eef4ff;
    --color-muted: #8fa1c0;
    --color-surface: #040915;
    --color-surface-strong: #0c1830;
    --font-display: "Space Grotesk", "Segoe UI", sans-serif;
    --body-background:
        radial-gradient(circle at top left, rgba(57, 224, 208, 0.12), transparent 18%),
        radial-gradient(circle at top right, rgba(124, 107, 255, 0.18), transparent 22%),
        linear-gradient(180deg, #020611 0%, #071120 34%, #040915 100%);
    --landing-background:
        radial-gradient(circle at 12% 8%, rgba(57, 224, 208, 0.09), transparent 22%),
        radial-gradient(circle at 88% 12%, rgba(124, 107, 255, 0.14), transparent 26%),
        linear-gradient(180deg, rgba(2, 6, 17, 0.86) 0%, rgba(4, 10, 22, 0.96) 100%);
    --theme-glow-primary: rgba(124, 107, 255, 0.2);
    --theme-glow-secondary: rgba(57, 224, 208, 0.16);
    --theme-grid-line: rgba(132, 148, 255, 0.05);
    --theme-header-bg: rgba(5, 10, 24, 0.52);
    --theme-header-bg-scrolled: rgba(5, 10, 24, 0.82);
    --theme-header-border: rgba(126, 143, 255, 0.14);
    --theme-header-shadow: 0 28px 60px rgba(0, 0, 0, 0.28);
    --theme-header-link: rgba(238, 244, 255, 0.84);
    --theme-header-link-hover: #ffffff;
    --theme-brand-shell-bg: rgba(255, 255, 255, 0.94);
    --theme-brand-shell-border: rgba(255, 255, 255, 0.12);
    --theme-brand-shell-shadow: 0 16px 36px rgba(5, 10, 24, 0.2);
    --theme-brand-padding: 0.48rem 0.82rem;
    --theme-brand-radius: 1rem;
    --theme-brand-logo-filter: drop-shadow(0 18px 24px rgba(10, 12, 35, 0.2));
    --theme-site-cta-bg: linear-gradient(135deg, rgba(124, 107, 255, 0.28), rgba(57, 224, 208, 0.16));
    --theme-site-cta-border: rgba(149, 165, 255, 0.14);
    --theme-site-cta-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    --theme-button-border: rgba(149, 165, 255, 0.16);
    --theme-button-primary-bg: linear-gradient(135deg, #7964ff 0%, #39e0d0 120%);
    --theme-button-primary-shadow: 0 22px 44px rgba(35, 66, 148, 0.36);
    --theme-button-secondary-bg: rgba(10, 17, 35, 0.55);
    --theme-button-secondary-text: var(--color-ink);
    --theme-hero-background:
        radial-gradient(circle at 78% 18%, rgba(124, 107, 255, 0.2), transparent 22%),
        linear-gradient(180deg, #071121 0%, #060d1b 40%, #050a15 100%);
    --theme-hero-border: rgba(118, 136, 255, 0.12);
    --theme-signal-border: rgba(134, 151, 255, 0.14);
    --theme-signal-bg: rgba(8, 15, 30, 0.38);
    --theme-signal-text: rgba(238, 244, 255, 0.84);
    --theme-signal-dot-shadow: 0 0 0 0.35rem rgba(57, 224, 208, 0.12);
    --theme-hero-panel-border: rgba(138, 154, 255, 0.14);
    --theme-hero-panel-bg: rgba(7, 14, 28, 0.36);
    --theme-hero-panel-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    --theme-console-bg:
        linear-gradient(180deg, rgba(11, 18, 38, 0.94), rgba(6, 12, 25, 0.92)),
        rgba(7, 13, 28, 0.88);
    --theme-console-border: rgba(136, 153, 255, 0.16);
    --theme-console-shadow: 0 34px 80px rgba(0, 0, 0, 0.32);
    --theme-console-accent: radial-gradient(circle, rgba(124, 107, 255, 0.22), transparent 70%);
    --theme-console-inner-border: rgba(255, 255, 255, 0.04);
    --theme-console-text-muted: rgba(198, 209, 231, 0.76);
    --theme-console-product-bg: rgba(124, 107, 255, 0.14);
    --theme-console-product-color: #dde5ff;
    --theme-console-card-border: rgba(134, 151, 255, 0.14);
    --theme-console-card-bg: rgba(255, 255, 255, 0.03);
    --theme-console-pill-bg: rgba(9, 18, 40, 0.92);
    --theme-console-pill-text: rgba(238, 244, 255, 0.84);
    --theme-console-divider: rgba(130, 146, 255, 0.12);
    --theme-projected-surface:
        linear-gradient(180deg, rgba(10, 17, 35, 0.86), rgba(6, 11, 24, 0.92)),
        rgba(7, 13, 28, 0.88);
    --theme-panel-border: rgba(130, 146, 255, 0.14);
    --theme-panel-shadow: 0 28px 72px rgba(0, 0, 0, 0.26);
    --theme-logo-fade-start: linear-gradient(90deg, rgba(8, 15, 30, 0.98), rgba(8, 15, 30, 0));
    --theme-logo-fade-end: linear-gradient(270deg, rgba(8, 15, 30, 0.98), rgba(8, 15, 30, 0));
    --theme-card-bg:
        linear-gradient(180deg, rgba(12, 19, 39, 0.9), rgba(7, 13, 28, 0.96)),
        rgba(7, 13, 28, 0.88);
    --theme-card-border: rgba(130, 146, 255, 0.12);
    --theme-card-shadow: 0 24px 56px rgba(0, 0, 0, 0.2);
    --theme-card-plain-bg: rgba(255, 255, 255, 0.04);
    --theme-chip-bg-strong: rgba(124, 107, 255, 0.14);
    --theme-chip-text-strong: #e4e9ff;
    --theme-floating-chip-border: rgba(149, 165, 255, 0.18);
    --theme-floating-chip-bg: rgba(8, 15, 30, 0.72);
    --theme-floating-chip-text: #edf3ff;
    --theme-floating-chip-shadow: 0 18px 30px rgba(0, 0, 0, 0.24);
    --theme-shift-before-bg:
        linear-gradient(180deg, rgba(59, 78, 146, 0.18), rgba(7, 13, 28, 0.94)),
        rgba(7, 13, 28, 0.88);
    --theme-shift-after-bg:
        linear-gradient(180deg, rgba(57, 224, 208, 0.16), rgba(7, 13, 28, 0.94)),
        rgba(7, 13, 28, 0.88);
    --theme-metric-mint-bg:
        linear-gradient(180deg, rgba(57, 224, 208, 0.16), rgba(7, 13, 28, 0.94)),
        rgba(7, 13, 28, 0.88);
    --theme-metric-primary-bg:
        linear-gradient(180deg, rgba(124, 107, 255, 0.18), rgba(7, 13, 28, 0.94)),
        rgba(7, 13, 28, 0.88);
    --theme-accent-icon-bg:
        linear-gradient(135deg, rgba(124, 107, 255, 0.18), rgba(57, 224, 208, 0.14)),
        rgba(255, 255, 255, 0.05);
    --theme-metric-gradient-text: linear-gradient(135deg, #ffffff 0%, #c6fff7 90%);
    --theme-faq-icon: #8fded5;
    --theme-contact-action-border: rgba(130, 146, 255, 0.14);
    --theme-contact-action-bg: rgba(255, 255, 255, 0.03);
    --theme-input-border: rgba(130, 146, 255, 0.16);
    --theme-input-bg: rgba(255, 255, 255, 0.04);
    --theme-input-placeholder: rgba(143, 161, 192, 0.8);
    --theme-input-focus-border: rgba(57, 224, 208, 0.46);
    --theme-input-focus-shadow: 0 0 0 0.28rem rgba(57, 224, 208, 0.12);
    --theme-feedback-border: rgba(130, 146, 255, 0.16);
    --theme-feedback-bg: rgba(7, 13, 28, 0.86);
    --theme-footer-link: rgba(238, 244, 255, 0.78);
    --theme-mobile-nav-bg: rgba(7, 13, 28, 0.96);
    --theme-mobile-nav-shadow: 0 24px 44px rgba(0, 0, 0, 0.28);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: clip;
}

body {
    margin: 0;
    overflow-x: clip;
    background: var(--body-background);
    color: var(--color-ink);
    font-family: var(--font-body);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: background 240ms ease, color 240ms ease;
}

a {
    color: inherit;
}

img,
svg {
    display: block;
    max-width: 100%;
}

button,
input,
select,
textarea {
    font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: balance;
}

p,
li {
    text-wrap: pretty;
}
