:root {
    --mfp-container: 1240px;
    --mfp-theme-transition-duration: 1240ms;
    --mfp-theme-transition-ease: ease;

    --mfp-radius: 28px;
    --mfp-radius-sm: 18px;
    --mfp-radius-lg: 40px;

    /*
     * Canonical color system.
     */
    --mfp-bg: #f5ead8;
    --mfp-bg-soft: color-mix(in srgb, var(--mfp-bg) 90%, var(--mfp-text) 10%);
    --mfp-card: rgba(255,250,240,0.74);
    --mfp-card-strong: rgba(255,252,245,0.94);
    --mfp-border: rgba(92,72,48,0.12);
    --mfp-border-strong: rgba(92,72,48,0.20);
    --mfp-text: #2d261f;
    --mfp-text-soft: rgba(45,38,31,0.74);
    --mfp-text-muted: rgba(45,38,31,0.54);
    --mfp-accent: #2f80ed;
    --mfp-accent-strong: #1f5fa8;
    --mfp-accent-soft: rgba(47,128,237,0.13);
    --mfp-accent-2: #f2a541;
    --mfp-accent-3: #123f73;
    --mfp-accent-4: #f7d27a;
    --mfp-hero-badge-bg: rgba(255,255,255,0.18);
    --mfp-hero-badge-border: rgba(255,255,255,0.24);
    --mfp-hero-badge-color: #fff;
    --mfp-badge-hit: #0E5A64;
    --mfp-badge-new: #2E8F84;
    --mfp-badge-sale: #B8654A;
    --mfp-status-warning: #9a650f;
    --mfp-status-done: #2f7a4c;
    --mfp-status-failed: #b33b45;
    --mfp-option-selected-bg: rgba(47,128,237,0.13);
    --mfp-option-selected-border: color-mix(in srgb, var(--mfp-accent-strong) 70%, transparent);
    --mfp-option-selected-text: var(--mfp-accent-strong);
    --mfp-option-selected-shadow: 0 0 0 3px var(--mfp-accent-soft), inset 0 1px 0 rgba(255,255,255,0.42);
    /*
     * Site-wide service/data tokens.
     */
    --mfp-color-swatch-multicolor:
        radial-gradient(circle at center, #ffffff 0 16%, #ffffff 18%, transparent 19%),
        conic-gradient(
            #fa9d9d 0 20%,
            #f7cd7e 20% 40%,
            #7bd1bc 40% 60%,
            #71a3f0 60% 80%,
            #b07eed 80% 100%
        );

    --mfp-social-vk: #4680c2;
    --mfp-social-telegram: #2da4d7;
    --mfp-social-max: conic-gradient(from 90deg,#8526d1 0deg,#0cf 84.6deg,#0026ff 180deg,#a500c6 340.069deg,#8526d1 360deg);
    --mfp-social-whatsapp: #25d366;
    --mfp-social-yookassa: #0070f0;
    --mfp-social-plati-chastyami:
        radial-gradient(259.09% 769.67% at -9.1% -159.09%, #faed00 0%, rgba(250,237,0,0) 100%),
        radial-gradient(18.81% 157.29% at 98.21% 100%, #0087cd 0%, rgba(0,173,238,0) 100%),
        radial-gradient(37.12% 206.36% at 90.45% 119.09%, #00adee 0%, rgba(0,173,238,0) 100%),
        linear-gradient(88.46deg, #a0e720 0%, #00d900 22.46%, #21a038 70.5%);

    --mfp-shadow: 0 24px 70px rgba(75,54,32,0.13);
    --mfp-shadow-soft: 0 18px 50px rgba(75,54,32,0.08);

    --mfp-font-ui:
        "Manrope",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    --mfp-font-display:
        "Alumni Sans",
        "Oswald",
        "Arial Narrow",
        Arial,
        sans-serif;

    /*
     * Compatibility aliases for legacy prototype files.
     */
    --mf-bg: var(--mfp-bg);
    --mf-bg-soft: var(--mfp-bg-soft);
    --mf-bg-card: var(--mfp-card);
    --mf-border: var(--mfp-border);
    --mf-text: var(--mfp-text);
    --mf-text-soft: var(--mfp-text-soft);
    --mf-text-muted: var(--mfp-text-muted);
    --mf-accent: var(--mfp-accent);
    --mf-accent-strong: var(--mfp-accent-strong);
    --mf-accent-soft: var(--mfp-accent-soft);
    --mf-radius: var(--mfp-radius);
    --mf-shadow: var(--mfp-shadow);
}

html[data-theme="dark"] {
    --mfp-bg: #17272b;
    --mfp-bg-soft: #102025;
    --mfp-card: rgba(255,255,255,0.065);
    --mfp-card-strong: rgba(255,255,255,0.105);
    --mfp-border: rgba(255,248,230,0.12);
    --mfp-border-strong: rgba(255,248,230,0.20);
    --mfp-text: #fff6e7;
    --mfp-text-soft: rgba(255,246,231,0.76);
    --mfp-text-muted: rgba(255,246,231,0.54);
    --mfp-accent: #6fb6ff;
    --mfp-accent-strong: #91c8ff;
    --mfp-accent-soft: rgba(111,182,255,0.16);
    --mfp-accent-2: #f3b35f;
    --mfp-accent-3: #245a9a;
    --mfp-accent-4: #f7d27a;
    --mfp-option-selected-bg: rgba(111,182,255,0.22);
    --mfp-option-selected-border: rgba(207,232,255,0.84);
    --mfp-option-selected-text: #cfe8ff;
    --mfp-option-selected-shadow: 0 0 0 2px rgba(255,246,231,0.22), 0 0 0 5px rgba(111,182,255,0.18), inset 0 1px 0 rgba(255,255,255,0.18);
    --mfp-status-warning: #f3c76c;
    --mfp-status-done: #79d79e;
    --mfp-status-failed: #ff8f9a;
    --mfp-shadow: 0 24px 70px rgba(0,0,0,0.32);
    --mfp-shadow-soft: 0 18px 50px rgba(0,0,0,0.22);
}
