// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
// ┃ ██████ ██████ ██████       █      █      █      █      █ █▄  ▀███ █       ┃
// ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█  ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄  ▀█ █ ▀▀▀▀▀ ┃
// ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄   █ ▄▄▄▄▄ ┃
// ┃ █      ██████ █  ▀█▄       █ ██████      █      ███▌▐███ ███████▄ █       ┃
// ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
// ┃ Copyright (c) 2017, the Perspective Authors.                              ┃
// ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
// ┃ This file is part of the Perspective library, distributed under the terms ┃
// ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

@import "icons.less";

@import url("ref://pro-dark.less");

perspective-viewer,
perspective-viewer[theme="Vaporwave"] {
    --theme-name: "Vaporwave";
}

perspective-viewer[theme="Vaporwave"] {
    @include perspective-viewer-pro-dark;
    @include perspective-viewer-vaporwave--colors;
    @include perspective-viewer-vaporwave--animation;
    @include perspective-viewer-vaporwave--fonts;
    @include perspective-viewer-vaporwave--datagrid;
    @include perspective-viewer-vaporwave--d3fc;
}

perspective-copy-menu[theme="Vaporwave"],
perspective-export-menu[theme="Vaporwave"],
perspective-dropdown[theme="Vaporwave"],
perspective-date-column-style[theme="Vaporwave"],
perspective-datetime-column-style[theme="Vaporwave"],
perspective-number-column-style[theme="Vaporwave"],
perspective-string-column-style[theme="Vaporwave"] {
    @include perspective-modal-pro-dark;
    @include perspective-viewer-vaporwave--colors;

    background-color: #07081d;
}

@mixin perspective-viewer-vaporwave--colors {
    color: #49acff;
    background-color: rgb(7, 8, 29) !important;
    --icon--color: #49acff;
    --inactive--color: rgb(19, 33, 50) !important;
    --inactive--border-color: var(--inactive--color);
    --plugin--background: rgb(7, 8, 29) !important;
}

@mixin perspective-viewer-vaporwave--animation {
    --status-icon-updating-keyframes-start--filter: opacity(1);
    --status-icon-updating-keyframes-end--filter: opacity(0);
    --status-icon-updating-keyframes-start--transform: scale(1);
    --status-icon-updating-keyframes-end--transform: scale(0.5);
    --status-icon-keyframes-start--transform: scale(1.25);
    --status-icon-keyframes-end--transform: scale(1);
}

@mixin perspective-viewer-vaporwave--datagrid {
    --pp-color-1: #092132;
    --pp-color-2: #42b6e6;
    --rt-pos-cell--color: #42b6e6 !important;
    --rt-hover--border-color: var(--pp-color-1) !important;

    // FIXME: broken in shadow DOM.  Can be fixed with a new custom property allowing empty header cell backgrounds
    // to be styled
    regular-table table tbody th:empty {
        background: linear-gradient(
            to right,
            transparent 9px,
            rgb(19, 33, 50) 10px,
            transparent 11px
        );
        background-repeat: no-repeat;
        background-position: 0px -10px;
    }
}

@mixin perspective-viewer-vaporwave--d3fc {
    --d3fc-axis-ticks--color: #49acff;
    --d3fc-gridline--color: rgb(19, 33, 50);
    --d3fc-series: #01cdfe;
    --d3fc-series-1: #01cdfe;
    --d3fc-series-2: #ff71ce;
    --d3fc-series-3: #05ffa1;
    --d3fc-series-4: #b967ff;
    --d3fc-series-5: #fffb96;

    --d3fc-series-6: hsl(192, 99%, 25%);
    --d3fc-series-7: hsl(321, 100%, 36%);
    --d3fc-series-8: hsl(192, 99%, 25%);
    --d3fc-series-9: hsl(157, 100%, 25%);
    --d3fc-series-10: hsl(272, 100%, 35%);

    --d3fc-negative--gradient: linear-gradient(
        #f3d431,
        #efb92d,
        #ed9c25,
        #eb7e20,
        #e75d1e,
        #d14632,
        #b03e38,
        #8c3a36,
        #643633,
        #07081d
    ) !important;

    --d3fc-positive--gradient: linear-gradient(
        #07081d,
        #2e4463,
        #1e588a,
        #086da7,
        #0082b9,
        #039ac7,
        #12b1d4,
        #2bc8e2,
        #3ddff0,
        #61f4fb
    ) !important;

    --d3fc-full--gradient: linear-gradient(
        #f3d431,
        #efb92d,
        #ed9c25,
        #eb7e20,
        #e75d1e,
        #d14632,
        #b03e38,
        #8c3a36,
        #643633,
        #07081d,
        #2e4463,
        #1e588a,
        #086da7,
        #0082b9,
        #039ac7,
        #12b1d4,
        #2bc8e2,
        #3ddff0,
        #61f4fb
    ) !important;
}
