:root {
    color-scheme: light dark;
    --background-color: #1a535c;
    --text-area-background-color: light-dark(#f7fff7, #172a2e);
    --text-area-shadow-color: light-dark(#edf3ed, #000000);
    --text-color: light-dark(#010303, #f7fff7);
    --button-color: light-dark(#4ecdc4, #349090);
    --button-hover-color: light-dark(#7cece5, #47a8a8);
    --button-shadow-color: light-dark(#41ada6, #297474);
    --button-text-color: var(--text-color);
    --secondary-button-color: light-dark(#349090, #4ecdc4);
    --secondary-button-hover-color: light-dark(#47a8a8, #7cece5);
    --secondary-button-shadow-color: light-dark(#297474, #41ada6);
    --secondary-button-text-color: #f7fff7;
    --toolbar-button-color: light-dark(#ecf3ec, #324b4b);
    --toolbar-button-hover-color: light-dark(#f7fff7, #426161);
    --red-accent-color: #ff6b6b;
    --yellow-accent-color: #ffe66d;
    
    --loje: #ff6b6b;
    --jelo: #ffe66d;
    --laso: #4ecdc4;
    --pimeja: #010303;
    --walo: #f7fff7;
    
    --font-size: 25px;
    --input-text-color: var(--text-color);
    --input-highlight-color: var(--text-color);
}
html {
    overflow: hidden;
    font-family: 'Linjamanka';
}
body {
    margin: 0;
    background-color: var(--background-color);
    color: var(--text-color);
    display:flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    overflow: hidden;
}
header {
    width: 100%;
    padding-top:5px;
    display: flex;
    align-items: center;
    overflow-x: auto;
    overflow-y: visible;
    flex-shrink: 0;
    > button {
        background-color: var(--button-color);
        color: var(--button-text-color); 
        font-size: 25px;
        border-radius: 50%;
        padding-left:5.5px;
        margin: 5px;
        aspect-ratio: 1 / 1;
        :first-child {
            background-color: var(--secondary-button-color);
            color: var(--secondary-button-text-color); 
        }
        &:hover {
            background-color: var(--button-hover-color);
            cursor: pointer;
        }
    }
}
button {
    border: none;
    border-radius: 10px;
    font-family: inherit;
}
.toolbar {
    background-color: var(--text-area-background-color);
    padding: 5px;
    border-bottom: 3px solid var(--secondary-button-color);
    overflow-x: auto;
    overflow-y: visible;
    display: flex;
    justify-content: start;
    min-height:5ex;
    box-shadow: 0 10px 10px var(--text-area-shadow-color);
    z-index: 1;
    button, select {
        padding: 0px 5px 0px 5px;
        flex-shrink: 0;
        border-radius: 0px;
        font-size: 20px;
        background-color: var(--toolbar-button-color);
        margin-inline-end: 5px;
        &:hover {
            background-color: var(--toolbar-button-hover-color);
            cursor: pointer;
        }
    }
    > span {
        flex-shrink: 0;
        vertical-align: center;
        font-size: 20px;
        padding-block: 6px;
        padding-inline: 6px;
        margin-inline-end: 5px;
    }
}
/* .dropdown-container {
    width: 100%;
}
.dropdown {
    display: block;
    position: relative;
    top: auto;
    left: auto;
    > button:hover {
        background-color: var(--secondary-button-hover-color);
        color: var(--secondary-button-text-color);
    }
    &:hover > button {
        background-color: var(--secondary-button-hover-color);
        color: var(--secondary-button-text-color);
    }
    &:hover .dropdown-content {
        display: block;
    }
}
.dropdown-content {
    display: none;
    position: absolute;
    button {
        display: block;
        width: 100%;
    }
} */
select {
    width:50px;
    appearance: none;
    font-family: inherit;
    border: none;
    background-color: var(--toolbar-button-color);
}
option {
    appearance: none;
    font-family: inherit;
}
.textarea {
    background-color: var(--text-area-background-color);
    padding: 10px;
    flex-grow:1;
    overflow-y: auto;
    font-size: var(--font-size);
    touch-action: none;
    span, nimi {
        touch-action: none;
    }
}
.tab {
    background-color: var(--button-color);
    color: var(--button-text-color);
    display: inline-block;
    align-items: center;
    white-space: nowrap;
    --tabRadius: 12px;
    padding-top: 5px;
    align-self: stretch;
    padding-left: var(--tabRadius);
    padding-right: var(--tabRadius);

    &:hover {
        background-color: var(--button-hover-color);
        cursor: pointer;
    }
    &.before_current_tab {
        transform: translate(0, 10px);
        border-top-left-radius: var(--tabRadius);
        background-color: var(--secondary-button-color);
        color: var(--secondary-button-text-color);
        margin-right: calc(var(--tabRadius) * -1 - 2ex);
        background: linear-gradient(270deg, var(--secondary-button-shadow-color) 2ex, var(--secondary-button-color) calc(2ex + var(--tabRadius)*2));
    }
    &#current_tab {
        transform: translate(0, 1px);
        margin-left: calc(var(--tabRadius) * -1);
        margin-right: calc(var(--tabRadius) * -1);
        padding-left: calc(var(--tabRadius) * 2);
        padding-right: calc(var(--tabRadius) * 2);
        clip-path: shape(
            from bottom left,
            curve to var(--tabRadius) calc(100% - var(--tabRadius)) with
            var(--tabRadius) 100%,
            vline to var(--tabRadius),
            curve to calc(var(--tabRadius) * 2) 0 with var(--tabRadius) 0,
            hline to calc(100% - calc(var(--tabRadius) * 2)),
            curve to calc(100% - var(--tabRadius)) var(--tabRadius) with
            calc(100% - var(--tabRadius)) 0,
            vline to calc(100% - var(--tabRadius)),
            curve to 100% 100% with calc(100% - var(--tabRadius)) 100%
        );
        background-color: var(--text-area-background-color);
        &:hover {
            cursor: auto;
        }
        color: var(--text-color);
        .tab_name:hover {
            cursor: text;
        }
    }
    &.after_current_tab {
        transform: translate(0, 1px);
        border-top-right-radius: var(--tabRadius);
        margin-left: calc(var(--tabRadius) * -1);
        margin-right: calc(var(--tabRadius) * -1);
        padding-right: calc(var(--tabRadius) * 2);
        background: var(--button-color);
        background: linear-gradient(90deg, var(--button-shadow-color) 0%, var(--button-color) calc(var(--tabRadius)*2));
        clip-path: shape(
            from top left,
            hline to calc(100% - calc(var(--tabRadius) * 2)),
            curve to calc(100% - var(--tabRadius)) var(--tabRadius) with
            calc(100% - var(--tabRadius)) 0,
            vline to calc(100% - var(--tabRadius)),
            curve to 100% 100% with calc(100% - var(--tabRadius)) 100%,
            hline to 0
        );
    }
    &:nth-last-child(2) {
        &#current_tab, &.after_current_tab {
            margin-right:  calc(var(--tabRadius) * -1);
        }
    }
    &:nth-child(2) {
        &#current_tab {
            margin-left:  calc(var(--tabRadius) * -1);
        }
    }
    button, .tab_name {
        font-size: 25px;
        background: none;
        display: inline-block;
        justify-content: center;
        color: inherit;
    }
    .tab_erase {
        margin-right: 5px;
    }
    .tab_erase:hover {
        color: var(--red-accent-color);
        cursor: pointer;
    }
}
#keyboard_container {
    background-color: var(--background-color);
    flex-basis: 25%;
    flex-shrink: 0;
    padding:10px 5px 20px 5px;
    display:flex;
    flex-direction: column;
}
.keyboard {
    flex-grow:1;
}
.keyrow {
    flex-basis: 20%;
    flex-grow: 0;
}
.multirow .keyrow {
    flex-grow: 1;
}
.key {
    background-color: var(--button-color);
    color: var(--button-text-color);
    margin: 2px;
    &:hover {
        background-color: var(--button-hover-color);
        cursor: pointer;
    }
}
.function_key {
    background-color: var(--secondary-button-color);
    color: #f7fff7;
    &:hover {
        background-color: var(--secondary-button-hover-color);
        cursor: pointer;
    }
}
cursor::after {
    display: block;
    position:relative;
    content: '';
    height: var(--font-size);
    border-left: calc(var(--font-size) * 0.1) solid var(--input-text-color);
    animation: blink 1s linear infinite;
    z-index: 100;
}
@keyframes blink {
    0%   { visibility: visible; }
    49%  { visibility: visible; }
    50%  { visibility: hidden; }
    100% { visibility: hidden; }
}
nimi, .nimi {
    display: inline-block;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: middle;
    margin-right: -1px;
    min-width: 2ex;
    min-height:2ex;
    white-space:pre;
}
.selected:not(.single_selection) {
    background-color: var(--yellow-accent-color) !important;
}
.single_selection {
    animation: blink_selection 1s linear infinite;
}
@keyframes blink_selection {
    0%   { background-color: var(--yellow-accent-color) !important; }
    49%  { background-color: var(--yellow-accent-color) !important; }
    50%  { background: inherit; }
    100% { background: inherit; }
}
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }