html, body {
    overscroll-behavior-x: none;
}

/* Light mode colors (default). */
.gammaview_widget
{
    --background-color: #ffffff;
    --text-color: #212529;
    --icons-color: #212529;
    --icons-disabled-color: #dddddd;
    --graph-color0: #62955b;
    --graph-color1: #c0684a;
    --graph-color2: #5389c2;
    --graph-color3: #2da1a6;
    --graph-color4: #818d2e;
    --graph-color5: #f74f39;
    --graphs-grid-color: #c4c4c4;
    --graphs-separator-color: #ababab;
    --measure-line-color: #000000;
    --measure-line-pending-color: #a6a6a6;
    --measure-background-color: #666666;
    --measure-button-background-color: #808080;
    --no-graphs-background-color: #e8e8e8;
    --tags-background-color: #f4f4f4;
    --tags-background-hover-color: #e6e6e6;
    --tags-separator-color: #e1e1e1;
    --tags-invisible-color-scale: 0.2;
    --tags-invisible-color-bias: 0.7;
    --asset-visible-color: #777777;
    --asset-invisible-color: #cccccc;
    --logo-opacity: 0.5;
}

/* Dark mode colors. */
.gammaview_widget[color-theme='dark']
{
    --background-color: #181818;
    --text-color: #ffffff;
    --icons-color: #888888;
    --icons-disabled-color: #333333;
    --graph-color0: #75b36d;
    --graph-color1: #e77d59;
    --graph-color2: #64a4e9;
    --graph-color3: #36c2c8;
    --graph-color4: #9ba937;
    --graph-color5: #ff5f45;
    --graphs-grid-color: #4d4d4d;
    --graphs-separator-color: #666666;
    --measure-line-color: #cccccc;
    --measure-line-pending-color: #404040;
    --measure-background-color: #404040;
    --measure-button-background-color: #595959;
    --no-graphs-background-color: #202020;
    --tags-background-color: #222222;
    --tags-background-hover-color: #404040;
    --tags-separator-color: #333333;
    --tags-invisible-color-scale: 0.15;
    --tags-invisible-color-bias: 0.1;
    --asset-visible-color: #cccccc;
    --asset-invisible-color: #777777;
    --logo-opacity: 0.8;
}

.gammaview_widget
{
    background-color: var(--background-color);
    color: var(--text-color);
}

.gammaview_grid
{
    display: grid;
    grid-template-columns: auto 210px;
    grid-template-rows: 30px auto 23px 0px;
    grid-gap: 0px;
    margin: 0px;
    padding: 0px 15px;
    height: 100vh;
    overflow: hidden;
    clip-path: inset(0px 15px);
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+/Edge */
    user-select: none; /* Standard */
}

.gammaview_widget #title
{
    text-align: left;
    grid-row: 1;
    grid-column: 1 / span 2;
}

.gammaview_widget #toolbar
{
    color: var(--icons-color);
    text-align: right;
    grid-row: 1;
    grid-column: 1 / span 2;
}

@media (hover: hover) and (pointer: fine)
{
    .gammaview_widget
    {
        --toolbar-button-fa-fw: 26px;
        --toolbar-button-margin: 3px 2px;
        --toolbar-button-padding: 3px 4px;
    }
}
@media not all and (hover: hover) and (pointer: fine)
{
    .gammaview_widget
    {
        --toolbar-button-fa-fw: 30px;
        --toolbar-button-margin: 0px 0px 3px;
        --toolbar-button-padding: 6px 6px 3px;
    }
}

.gammaview_widget #toolbar .fa-fw
{
    width: var(--toolbar-button-fa-fw);
}

.gammaview_widget #toolbar span
{
    font-size: 1.0em;
    margin: var(--toolbar-button-margin);
    padding: var(--toolbar-button-padding);
}

.gammaview_widget #toolbar span[disabled]
{
    color: var(--icons-disabled-color);
}

.gammaview_widget:not(.disable-hover) #toolbar span
{
    cursor: pointer;
}

.gammaview_widget:not(.disable-hover) #toolbar span[disabled]
{
    cursor: not-allowed;
}

.gammaview_widget #toolbar #separator
{
    margin: 8px;
    padding: 0px 1px 0px 0px;
    background-color: #888;
}

@media (hover: hover) and (pointer: fine)
{
    .gammaview_widget:not(.disable-hover) #toolbar span:not([disabled]):hover
    {
        color: #8a8;
    }
}

.gammaview_widget #canvas_container
{
    position: relative;
    align-self: stretch;
    grid-column-start: 1;
    grid-column-end: 2;
}

.gammaview_widget #canvas_container canvas
{
    position: absolute;
    width: 100%;
    height: 100%;
}

.gammaview_widget .labels
{
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
}

.gammaview_widget .labels span
{
    position: absolute;
    margin: 0px;
    padding: 0px 2px;
    white-space: nowrap;
    font-weight: normal;
    font-size: 70%;
}

.gammaview_widget .regular_labels
{
    position: absolute;
    width: 100%;
    height: 100%;
}

.gammaview_widget .measure_labels
{
    clip-path: inset(0px 0px);
    position: absolute;
    width: 100%;
    height: 100%;
}

.gammaview_widget .measure_button_labels span
{
    pointer-events: auto;
    position: absolute;
    margin: 0px;
    padding: 4px 3px 1px;
    white-space: nowrap;
    font-weight: normal;
    font-size: 75%;
    color: #fff;
}

.gammaview_widget .measure_button_labels span.close_button
{
    padding: 3px 4px 2px 2px;
}

@media (hover: hover) and (pointer: fine)
{
    .gammaview_widget:not(.disable-hover) .measure_button_labels span:hover
    {
        color: #ada;
    }
}

.gammaview_widget #tags
{
    text-align: left;
    margin: 0px;
    background-color: var(--tags-background-color);
    font-size: 80%;
    font-weight: normal;
    border-left: solid 1px var(--tags-separator-color);
    overflow-y: auto;
    scrollbar-width: thin;
}

.gammaview_widget #logo
{
    width: 90px;
    opacity: var(--logo-opacity);
    background-image: url('./vtx.png');
    background-repeat: no-repeat;
    background-size: 80px;
    position: relative;
    bottom: 32px;
    justify-self: end;
    grid-row: 3;
    grid-column: 2;
}

.gammaview_widget #tags_grip
{
    color: #aaa;
    font-size: 90%;
    position: relative;
    left: 3px;
    bottom: 41px;
    grid-row: 4;
    grid-column: 2;
}

@media (hover: hover) and (pointer: fine)
{
    .gammaview_widget:not(.disable-hover) #tags_grip span:hover
    {
        color: #666;
        cursor: ew-resize;
    }
}

/* Chrome does not support "scrollbar-width". */

.gammaview_widget #tags::-webkit-scrollbar
{
    width: 8px;
    height: 8px;
    background: #f1f1f1;
}

.gammaview_widget #tags::-webkit-scrollbar-thumb
{
    background: #c1c1c1;
}

.gammaview_widget:not(.disable-hover) #tags::-webkit-scrollbar-thumb:hover
{
    background: #a8a8a8;
}

.gammaview_widget #tags::-webkit-scrollbar-thumb:active
{
    background: #787878;
}

.gammaview_widget #tags ul
{
    cursor: default;
    padding-left: 0px;
    list-style-type: none;
}

.gammaview_widget #tags li
{
    white-space: nowrap;
}

.gammaview_widget:not(.disable-hover) #tags .asset_left:hover,
.gammaview_widget:not(.disable-hover) #tags .asset_right:hover,
.gammaview_widget:not(.disable-hover) #tags .tag:hover
{
    background-color: var(--tags-background-hover-color);
}

.gammaview_widget #tags .asset_visibility_indicator
{
    display: inline-block;
    vertical-align: middle;
    height: 12px;
    padding: 0px 3px 0px 0px;
    margin: 0px 4px 3px 2px;
}

.asset_right[visibility_state='0'] .asset_visibility_indicator
{
    background-color: var(--asset-invisible-color);
    border: solid var(--asset-invisible-color) 3px;
}

.asset_right[visibility_state='1'] .asset_visibility_indicator
{
    background-color: var(--asset-visible-color);
    border: solid var(--asset-invisible-color) 3px;
}

.asset_right[visibility_state='2'] .asset_visibility_indicator
{
    background-color: var(--asset-visible-color);
    border: solid var(--asset-visible-color) 3px;
}

.gammaview_widget #tags .tag_visibility_indicator
{
    padding: 0px 14px 1px 0px;
    margin: 0px 4px 0px 2px;
}
