:root{
            --dpxcc-a:#8b5cf6;
            --dpxcc-ah:#7c3aed;
            --dpxcc-t:#241d3f;
            --dpxcc-m:#6f6882;
            --dpxcc-b:#dfd8f1;
            --dpxcc-s:#f8f5ff;
        }

        .dpxcc,
        .dpxcc *,
        .dpxcc *::before,
        .dpxcc *::after{
            box-sizing:border-box;
        }

        .dpxcc{
            font-family:
                -apple-system,
                BlinkMacSystemFont,
                "Segoe UI",
                Roboto,
                Helvetica,
                Arial,
                sans-serif;
        }

        .dpxcc-banner{
            position:fixed;
            z-index:999999;
            left:20px;
            right:20px;
            bottom:20px;
            max-width:1180px;
            margin:0 auto;
            padding:20px;

            border:
                1px solid
                rgba(139,92,246,.26);

            border-radius:18px;

            background:
                rgba(255,255,255,.98);

            box-shadow:
                0 22px 70px
                rgba(20,12,43,.22);

            color:
                var(--dpxcc-t);
        }

        .dpxcc-banner[hidden],
        .dpxcc-modal[hidden],
        .dpxcc-settings-trigger[hidden]{
            display:none !important;
        }

        .dpxcc-banner-grid{
            display:grid;

            grid-template-columns:
                minmax(0,1fr) auto;

            gap:22px;

            align-items:center;
        }

        .dpxcc-copy{
            min-width:0;
            padding-right:44px;
        }

        .dpxcc-eyebrow{
            display:inline-flex;
            align-items:center;

            min-height:29px;

            margin-bottom:8px;

            padding:
                0 11px;

            border:
                1px solid #ddd4fb;

            border-radius:
                999px;

            background:
                #f2edff;

            color:
                #6d43d7;

            font-size:
                10px;

            font-weight:
                800;

            letter-spacing:
                .12em;

            text-transform:
                uppercase;
        }

        .dpxcc h2,
        .dpxcc h3,
        .dpxcc p{
            margin:0;
            padding:0;
        }

        .dpxcc-banner h2{
            margin-bottom:7px;

            color:
                var(--dpxcc-t);

            font-size:
                21px;

            line-height:
                1.2;

            letter-spacing:
                -.02em;
        }

        .dpxcc-banner p{
            max-width:
                760px;

            color:
                var(--dpxcc-m);

            font-size:
                13.5px;

            line-height:
                1.55;
        }

        .dpxcc a{
            color:
                #6d43d7;

            font-weight:
                700;

            text-decoration:
                underline;

            text-underline-offset:
                2px;
        }

        .dpxcc-actions{
            display:grid;

            grid-template-columns:
                repeat(
                    2,
                    minmax(0,1fr)
                );

            gap:8px;

            width:
                min(
                    410px,
                    100%
                );
        }

        .dpxcc-btn{
            min-height:44px;

            padding:
                0 15px;

            border:
                1px solid
                var(--dpxcc-b);

            border-radius:
                11px;

            background:
                #ffffff;

            color:
                #40395e;

            font:
                inherit;

            font-size:
                13px;

            font-weight:
                800;

            cursor:
                pointer;

            transition:
                .18s ease;
        }

        .dpxcc-btn:hover{
            transform:
                translateY(-1px);

            border-color:
                #b9aaf0;
        }

        .dpxcc-btn-primary{
            border-color:
                var(--dpxcc-a);

            background:
                var(--dpxcc-a);

            color:
                #ffffff;
        }

        .dpxcc-btn-primary:hover{
            border-color:
                var(--dpxcc-ah);

            background:
                var(--dpxcc-ah);
        }

        .dpxcc-btn-secondary{
            border-color:
                var(--dpxcc-a);

            color:
                #6d43d7;
        }

        .dpxcc-btn-settings{
            grid-column:
                1 / -1;

            min-height:
                38px;

            background:
                var(--dpxcc-s);

            font-size:
                12px;
        }

        .dpxcc-close{
            position:absolute;

            top:12px;
            right:12px;

            display:inline-flex;

            align-items:center;
            justify-content:center;

            width:34px;
            height:34px;

            border:
                1px solid
                var(--dpxcc-b);

            border-radius:
                10px;

            background:
                #ffffff;

            color:
                #4b4466;

            font-size:
                21px;

            line-height:
                1;

            cursor:
                pointer;
        }

        .dpxcc-settings-trigger{
            position:fixed;

            z-index:
                999990;

            left:16px;
            bottom:16px;

            min-height:
                38px;

            padding:
                0 13px;

            border:
                1px solid
                #d9d0f7;

            border-radius:
                999px;

            background:
                rgba(
                    255,
                    255,
                    255,
                    .96
                );

            box-shadow:
                0 10px 30px
                rgba(
                    20,
                    12,
                    43,
                    .12
                );

            color:
                #51486d;

            font:
                inherit;

            font-size:
                11px;

            font-weight:
                800;

            cursor:
                pointer;
        }

        .dpxcc-modal{
            position:fixed;

            z-index:
                1000000;

            inset:0;

            display:flex;

            align-items:center;
            justify-content:center;

            padding:20px;

            background:
                rgba(
                    16,
                    10,
                    33,
                    .58
                );

            backdrop-filter:
                blur(4px);
        }

        .dpxcc-dialog{
            position:relative;

            width:
                min(
                    640px,
                    100%
                );

            max-height:
                min(
                    760px,
                    calc(100vh - 40px)
                );

            overflow:auto;

            padding:26px;

            border:
                1px solid
                rgba(
                    139,
                    92,
                    246,
                    .25
                );

            border-radius:
                20px;

            background:
                #ffffff;

            box-shadow:
                0 28px 90px
                rgba(
                    14,
                    8,
                    31,
                    .32
                );
        }

        .dpxcc-dialog-head{
            padding-right:
                42px;

            margin-bottom:
                20px;
        }

        .dpxcc-dialog h2{
            margin-bottom:
                8px;

            color:
                var(--dpxcc-t);

            font-size:
                25px;

            letter-spacing:
                -.025em;
        }

        .dpxcc-dialog-head p{
            color:
                var(--dpxcc-m);

            font-size:
                13.5px;

            line-height:
                1.55;
        }

        .dpxcc-category-list{
            display:grid;
            gap:10px;
        }

        .dpxcc-category{
            display:grid;

            grid-template-columns:
                minmax(0,1fr)
                auto;

            gap:18px;

            align-items:center;

            padding:16px;

            border:
                1px solid
                #e7e1f4;

            border-radius:
                14px;

            background:
                #fcfbff;
        }

        .dpxcc-category h3{
            margin-bottom:
                4px;

            color:
                #383152;

            font-size:
                14px;
        }

        .dpxcc-category p{
            color:
                var(--dpxcc-m);

            font-size:
                12px;

            line-height:
                1.5;
        }

        .dpxcc-always{
            color:
                #6d43d7;

            font-size:
                11px;

            font-weight:
                800;

            white-space:
                nowrap;
        }

        .dpxcc-switch{
            position:relative;

            display:inline-flex;

            width:48px;
            height:28px;

            flex:
                0 0 auto;
        }

        .dpxcc-switch input{
            position:absolute;
            opacity:0;
            pointer-events:none;
        }

        .dpxcc-switch-track{
            position:absolute;
            inset:0;

            border-radius:
                999px;

            background:
                #d8d3e2;

            transition:
                .2s ease;

            cursor:
                pointer;
        }

        .dpxcc-switch-track::after{
            content:"";

            position:absolute;

            top:4px;
            left:4px;

            width:20px;
            height:20px;

            border-radius:50%;

            background:
                #ffffff;

            box-shadow:
                0 2px 7px
                rgba(
                    20,
                    12,
                    43,
                    .18
                );

            transition:
                .2s ease;
        }

        .dpxcc-switch input:checked +
        .dpxcc-switch-track{
            background:
                var(--dpxcc-a);
        }

        .dpxcc-switch input:checked +
        .dpxcc-switch-track::after{
            transform:
                translateX(20px);
        }

        .dpxcc-switch input:focus-visible +
        .dpxcc-switch-track{
            outline:
                3px solid
                rgba(
                    139,
                    92,
                    246,
                    .25
                );

            outline-offset:
                2px;
        }

        .dpxcc-dialog-actions{
            display:grid;

            grid-template-columns:
                repeat(
                    2,
                    minmax(0,1fr)
                );

            gap:8px;

            margin-top:
                18px;
        }

        .dpxcc-dialog-actions
        .dpxcc-btn-save{
            grid-column:
                1 / -1;
        }

        @media
        (max-width:760px){

            .dpxcc-banner{
                left:10px;
                right:10px;
                bottom:10px;
                padding:17px;
            }

            .dpxcc-banner-grid{
                grid-template-columns:
                    1fr;

                gap:15px;
            }

            .dpxcc-copy{
                padding-right:
                    35px;
            }

            .dpxcc-actions{
                width:100%;
            }
        }

        @media
        (max-width:480px){

            .dpxcc-actions,
            .dpxcc-dialog-actions{
                grid-template-columns:
                    1fr;
            }

            .dpxcc-btn-settings,
            .dpxcc-dialog-actions
            .dpxcc-btn-save{
                grid-column:
                    auto;
            }

            .dpxcc-dialog{
                padding:
                    20px 16px;
            }

            .dpxcc-category{
                gap:12px;
                padding:14px;
            }
        }
