// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
// ┃ ██████ ██████ ██████       █      █      █      █      █ █▄  ▀███ █       ┃
// ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█  ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄  ▀█ █ ▀▀▀▀▀ ┃
// ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄   █ ▄▄▄▄▄ ┃
// ┃ █      ██████ █  ▀█▄       █ ██████      █      ███▌▐███ ███████▄ █       ┃
// ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
// ┃ 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="Monokai"] {
    --theme-name: "Monokai";
}

perspective-viewer[theme="Monokai"] {
    @include perspective-viewer-pro-dark;
    @include perspective-viewer-monokai--colors;
    @include perspective-viewer-monokai--datagrid;
    @include perspective-viewer-monokai--d3fc;
}

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

    background-color: #2d2a2e;
    border: 1px solid #797979;
}

@mixin perspective-viewer-monokai--colors {
    color: #d6d6d6;
    background-color: #2d2a2e;

    --active--color: #78dce8;
    --error--color: #ff6188;
    --inactive--color: #797979;
    --inactive--border-color: #666666;
    --plugin--background: #2d2a2e;

    // Column type indicators
    --float--column-type--color: #78dce8;
    --string--column-type--color: #ff6188;
    --date--column-type--color: #a9dc76;
    --boolean--column-type--color: #ffd866;

    --warning--background: #ffd866;
}

@mixin perspective-viewer-monokai--datagrid {
    --rt-pos-cell--color: #78dce8 !important;
    --rt-neg-cell--color: #ff6188 !important;
    --rt--border-color: #444444;

    // 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,
            #444444 10px,
            transparent 11px
        );
    }
}

@mixin perspective-viewer-monokai--d3fc {
    --d3fc-treedata--labels: #d6d6d6;
    --d3fc-treedata--hover-highlight: #2d2a2e;

    --d3fc-axis-ticks--color: #d6d6d6;
    --d3fc-gridline--color: #444444;
    --d3fc-series: #78dce8;
    --d3fc-series-1: #78dce8;
    --d3fc-series-2: #ff6188;
    --d3fc-series-3: #fc9867;
    --d3fc-series-4: #ffd866;
    --d3fc-series-5: #a9dc76;

    --d3fc-series-6: #ab9df2;
    --d3fc-series-7: #66d9ef;
    --d3fc-series-8: #f92672;
    --d3fc-series-9: #fd971f;
    --d3fc-series-10: #e6db74;
    --d3fc-series-11: #a6e22e;
    --d3fc-series-12: #ae81ff;

    --d3fc-negative--gradient: linear-gradient(#272822 0%, #ff6188 100%);
    --d3fc-positive--gradient: linear-gradient(#272822 0%, #78dce8 100%);
    --d3fc-full--gradient: linear-gradient(
        #ff6188 0%,
        #272822 50%,
        #78dce8 100%
    );
}
