/*
 * Copyright (c) 2015 The Chromium Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

:host {
    width: 270px;
    height: 350px;
    -webkit-user-select: none;
    padding: 16px;
    overflow: hidden;
}

.bezier-preset-selected > svg {
    background-color: var(--selection-bg-color);
}

.bezier-preset-label {
    font-size: 10px;
}

.bezier-preset {
    width: 50px;
    height: 50px;
    padding: 5px;
    margin: auto;
    background-color: #f5f5f5;
    border-radius: 3px;
}

.bezier-preset line.bezier-control-line {
    stroke: #666;
    stroke-width: 1;
    stroke-linecap: round;
    fill: none;
}

.bezier-preset circle.bezier-control-circle {
    fill: #666;
}

.bezier-preset path.bezier-path {
    stroke: black;
    stroke-width: 2;
    stroke-linecap: round;
    fill: none;
}

.bezier-preset-selected path.bezier-path, .bezier-preset-selected line.bezier-control-line {
    stroke: white;
}

.bezier-preset-selected circle.bezier-control-circle {
    fill: white;
}

.bezier-curve line.linear-line {
    stroke: rgb(238, 238, 238);
    stroke-width: 2;
    stroke-linecap: round;
    fill: none;
}

:host-context(.-theme-with-dark-background) .bezier-curve line.linear-line {
    stroke: rgb(138, 138, 138);
}

.bezier-curve line.bezier-control-line {
    stroke: #9C27B0;
    stroke-width: 2;
    stroke-linecap: round;
    fill: none;
    opacity: 0.6;
}

.bezier-curve circle.bezier-control-circle {
    fill: #9C27B0;
    cursor: pointer;
}

.bezier-curve path.bezier-path {
    stroke: black;
    stroke-width: 3;
    stroke-linecap: round;
    fill: none;
}

.bezier-preview-container {
    position: relative;
    background-color: white;
    overflow: hidden;
    border-radius: 20px;
    width: 200%;
    height: 20px;
    z-index: 2;
    flex-shrink: 0;
    opacity: 0;
}

.bezier-preview-animation {
    background-color: #9C27B0;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    position: absolute;
}

.bezier-preview-onion {
    margin-top: -20px;
    position: relative;
    z-index: 1;
}

.bezier-preview-onion > .bezier-preview-animation {
    opacity: 0.1;
}

svg.bezier-preset-modify {
    background-color: #f5f5f5;
    border-radius: 35px;
    display: inline-block;
    visibility: hidden;
    transition: transform 100ms cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    position: absolute;
}

svg.bezier-preset-modify:hover, .bezier-preset:hover {
    background-color: #999;
}

.bezier-preset-selected .bezier-preset:hover {
    background-color: var(--selection-bg-color);
}

.bezier-preset-modify path {
    stroke-width: 2;
    stroke: black;
    fill: none;
}

.bezier-preset-selected .bezier-preset-modify {
    opacity: 1;
}

.bezier-preset-category {
    width: 50px;
    margin: 20px 0;
    cursor: pointer;
    transition: transform 100ms cubic-bezier(0.4, 0, 0.2, 1);
}

span.bezier-display-value {
    width: 100%;
    -webkit-user-select: text;
    display: block;
    text-align: center;
    line-height: 20px;
    height: 20px;
    cursor: text;
    white-space: nowrap !important;
}

.bezier-container {
    display: flex;
    margin-top: 38px;
}

svg.bezier-curve {
    margin-left: 32px;
    margin-top: -8px;
}

svg.bezier-preset-modify.bezier-preset-plus {
    right: 0;
}

.bezier-header {
    margin-top: 16px;
}

svg.bezier-preset-modify:active,
.-theme-selection-color {
    transform: scale(1.1);
    background-color: var(--selection-bg-color);
}

.bezier-preset-category:active {
    transform: scale(1.05);
}

.bezier-header-active > svg.bezier-preset-modify {
    visibility: visible;
}

.bezier-preset-modify:active path {
    stroke: white;
}
