@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400&display=swap');
*
{
    font-family: Montserrat, Helvetica, sans-serif;
}
html, body
{
    overflow: hidden;
    color: var(--color, black);
}
body
{
    background: var(--bg, white);
}
h1
{
    text-align: center;
    margin: 0;
    letter-spacing: -.015em;
}
#cont
{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(2.5vmin) scale(.95)
}
.circle
{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border: 2px dotted;
    border-radius: 50%;
    pointer-events: none;
}
.circle:after
{
    content: var(--label, '');
    position: absolute;
    left: 0;
    bottom: 50%;
    transform: translateX(-160%);
    font-size: .6em;
    color: gray;
}
.line
{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -100%);
    width: 1px;
    height: 90vmin;
    background: var(--color, black);
    pointer-events: none;
}
.title
{
    position: absolute;
    transform: translate(-50%, -50%);
    left: 50%;
    top: 50%;
    user-select: none;
    font-size: 1.5vmin;
}
.selector
{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    /*background: rgba(255, 255, 255, 0.35); */
    border-radius: 50%;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.selector:hover
{
    /*background: greenyellow; */
    background: rgba(0, 0, 0, 0.3);
}
.value
{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: red;
    border-radius: 50%;
    pointer-events: none;
    z-index: -1;
}
.title span
{
    --angle: var(--angleDesktop);
    position: absolute;
    display: inline-block;
    /*width: 1em;
    //text-align: center;
    font-weight: bold;
    //font-family: monospace;*/
}
.shareButton
{
    background: transparent;
    border:none;
    outline: none;
    width: 50px;
    height: 50px;
    top: 10px;
    right: 10px;
    cursor: pointer;
}
.shareButton svg
{
    width: 100%;
    height: 100%;
    fill:  var(--color, black);
}
.logo
{
    position: absolute;
    width: 300px;
    left: 20px;
    top: 20px;
    fill:  var(--color, black);
}
.shareButton svg:hover
{
    opacity: .9;
}
#copyFeedback
{
    position: absolute;
    text-align: right;
    right: 5px;
    top: 70px;
    color: var(--color, black);
    transition: opacity 300ms;
    opacity: 0;
    pointer-events: none;
}
@media screen and (max-width: 600px) {
    .title
    {
        font-size: 2.4vmin;
    }
    .title span
    {
        --angle: var(--angleMobile);
    }
    #cont
    {
        transform: none;
    }
    h1
    {
        width: calc(100% - 80px - 80px);
        position: absolute;
        left: 80px;
        top: 5px;
        overflow-wrap: break-word;
    }
    .logo
    {
        width: 70px;
        height: 70px;
        left: 10px;
        top: 10px;
    }
}