html, body, #main-container {
    margin: 0;
    padding: 0;

    /*font-size: 32px;*/
}

html::-webkit-scrollbar, #chat-tl::-webkit-scrollbar {
    display: none;
}

body {
    background-color: #000000;
    color:#FFFFFF;
}

#bg-illumination {
    height: 100vh;
    width: 100vw;
    position: absolute;
    z-index: -1;
    filter: blur(40px);
}

#main-container {
    overflow: hidden;
    display: flex;
    height: 100vh;
    max-width: 100vw;
    min-width: 0;
}

#main-container[mode='portrait'] {
    flex-flow: column wrap;
}

#video-container {
    /*height: fit-content;
    width: fit-content;
    max-width: 100vw;*/
    align-self: center;
    position: relative;
}

/*video {
    height: fit-content;
    width: fit-content;
    max-height: 100vh;
    max-width: 100vw;
    /*min-width: 0;*
    flex: 0;
    align-self: center;
}*/

video {
    height: fit-content;
    width: fit-content;
    max-height: 100vh;
    max-width: 100%;
    /*min-width: 0;*/
}
  
/*video[mode='flex-video'] {
    flex: 50 1;
    min-width: 0;
}*/

video[mode='portrait'] {
    min-width: 100%;
}

video[mode='no-video'] {
    min-width: 70vw;
}

#video-overlay {
    opacity: 0;
    transition: opacity 0.2s;
    position: absolute;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    /*pointer-events: none;*/
    font-size: 40px;
}

#video-overlay[mode='no-video'] {
    opacity: 1;
}

#top-overlay {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    /*pointer-events: auto;*/
}

#top-buttons {
    width: 100%;
    display: flex;
    justify-content: space-between;
}


button {
    font-size: 40px;
}

select {
    font-size: 40px;
}

#video-container:hover > #video-overlay { opacity: 1; }

@property --color-gradient-1 {
    syntax: '<color>';
    inherits: false;
    initial-value: #0077ff;
}

@property --color-gradient-2 {
    syntax: '<color>';
    inherits: false;
    initial-value: #00ff62;
}

:root {
    touch-action: none; /* Disable zoom and pan on touch screens */

    --color-1: #0077ff;
    --color-2: #00ff62;
    /*transition: --color-1 0.3s, --color-2 0.3s;*/
    --transition-duration: 0.3s;
}

* {
    transition: color var(--transition-duration);
}

#seek-bar {
    width: 100%;
    height: 8px;
    color: var(--color-1);
    border-radius: 0;
    border: 0;
}

.loader {
    width: 60px;
    aspect-ratio: 1;
    border: 8px solid #00000000;
    border-radius: 50%;
    position: relative;
    transform: rotate(45deg);
}
.loader::before {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 8px solid #00ff62;
    animation: l18 2s infinite linear;
}
@keyframes l18 {
      0%   {clip-path:polygon(50% 50%,0 0,0    0,0    0   ,0    0   ,0    0   )}
      25%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 0   ,100% 0   ,100% 0   )}
      50%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%)}
      75%  {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0    100%,0    100%)}
      100% {clip-path:polygon(50% 50%,0 0,100% 0,100% 100%,0    100%,0    0   )}
}

button {
    color: var(--color-1);
}

#chat-container {
    /*min-width: 150px;*/
    flex: 1 0 150px;
    display: flex;
    flex-flow: column;
    border: 2px solid transparent;
    /*border-radius: 20px;*/
    /*background: linear-gradient(#1c3f29, #001809) padding-box,
            linear-gradient(#0077ff, #00ff62) border-box;*/
    border-image: linear-gradient(var(--color-gradient-1), var(--color-gradient-2)) 3;
    transition: --color-gradient-1 0.3s, --color-gradient-2 0.3s;

    background: linear-gradient(#00000000, #00000099);
    padding: 8px;
    min-height: 0;
}

/*#chat-container[mode='flex-video'] {
    flex: 1 150px;
}*/

#user-table {
    flex: 0;
}

#chat-tl {
    flex: 1;
    overflow-y: scroll;
}

#chat-input-container {
    flex: 0;
    display: flex;
    justify-content: flex-end;
}

#chat-input {
    width: 50px;
    height: 25px;
    flex: 9;
    border: 0;
    /*border-radius: 25px;*/
    color: #FFFFFF;
    background-color: #ffffff27;
}

.error-msg {
    color: red;
}

#send-bt {
    flex: 1;
    border: 0;
    /*border-radius: 25px;*/
    background-color: #ffffff27
}

#debug-info {
    display: none;
}

::backdrop {
    background-image: linear-gradient(
      45deg,
      magenta,
      rebeccapurple,
      dodgerblue,
      green
    );
    opacity: 0.75;
}
