:root {
    --text-color: #fff;
    --surface-color: #28346a;
    --surface-secondary-color: #212b58;
    --surface-tertiary-color: #192042;
    --surface-transparent-color: rgba(40, 52, 106, 0.5);
    --button-color: #112052;
    --button-hover-color: #334b77;
    --button-active-color: #151f41;
}

@font-face {
    font-family: ForcedSquare;
    src: url("../forced_square.ttf");
}

html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #000;
}

* {
    font-family: ForcedSquare, Arial, sans-serif;
    line-height: 1;
}

#screen {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

#ui {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

::-webkit-scrollbar {
    width: 8px;
    background-color: #223;
}

::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: #7272c2;
}

::selection {
    background-color: #5936d6;
    color: #fff;
}

body {
    scrollbar-color: #7272c2 #223;
}

.hide-cursor {
    cursor: none;
}

.hidden {
    display: none;
}

input[type="text"] {
    margin: 0;
    padding: 4px 8px;
    clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
    font-size: 24px;
    font-weight: bold;
    color: var(--text-color);
    background-color: var(--surface-tertiary-color);
    border: none;
    pointer-events: auto;
}

input[type="text"]:focus-visible {
    outline: none;
}

.button {
    position: relative;
    margin: 0;
    padding: 8px 18px;
    background-color: var(--button-color);
    border: none;
    clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
    color: var(--text-color);
    font-size: 32px;
    pointer-events: auto;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
}

.button::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    background-color: var(--button-hover-color);
    border-bottom: 2px solid var(--text-color);
    transition: width 0.1s ease-in-out;
}

.button:hover::after {
    width: 100%;
}

.button:active::after {
    background-color: var(--button-active-color);
}

.button:focus-visible {
    background-color: var(--button-hover-color);
    text-decoration: underline;
    outline: none;
}

.button>img.button-icon {
    margin: -6px -4px 0 -4px;
    padding: 0;
    height: 32px;
    vertical-align: middle;
    pointer-events: none;
}