2022-02-15 14:19:48 -08:00
* {
box-sizing : border-box ;
}
2021-10-24 15:48:10 -07:00
: root {
2022-02-14 12:58:59 -08:00
--bg-rgb : 28 , 23 , 36 ;
--fg-rgb : 234 , 234 , 248 ;
--accent-rgb : 181 , 127 , 220 ;
--fg : rgb ( var ( --fg-rgb ) ) ;
--bg : rgb ( var ( --bg-rgb ) ) ;
--default-user-color : rgb ( 126 , 208 , 255 ) ;
--accent : rgb ( var ( --accent-rgb ) ) ;
--fg-transparent : rgba ( var ( --fg-rgb ) , 0 . 125 ) ;
--bg-transparent : rgba ( var ( --bg-rgb ) , 0 . 125 ) ;
--chat-bg : linear-gradient ( var ( --fg-transparent ) , var ( --fg-transparent ) ) , linear-gradient ( var ( --bg ) , var ( --bg ) ) ;
--autocomplete-bg : linear-gradient ( var ( --fg-transparent ) , var ( --fg-transparent ) ) , linear-gradient ( var ( --fg-transparent ) , var ( --fg-transparent ) ) , linear-gradient ( var ( --bg ) , var ( --bg ) ) ;
2021-10-24 15:48:10 -07:00
}
html {
background-color : var ( --bg ) ;
color : var ( --fg ) ;
font-size : 1 . 125rem ;
font-family : sans-serif ;
}
html ,
body {
margin : 0 ;
2022-02-14 12:58:59 -08:00
padding : 0 ;
overflow : hidden ;
overscroll-behavior : none ;
width : 100 % ;
height : 100 % ;
}
body {
display : flex ;
flex-direction : column ;
2021-10-24 15:48:10 -07:00
}
video {
2021-10-24 18:59:52 -07:00
display : block ;
2022-02-14 12:58:59 -08:00
width : 100 % ;
height : 100 % ;
object-fit : contain ;
}
2021-10-24 18:59:52 -07:00
2022-02-14 12:58:59 -08:00
# video-container {
flex-grow : 1 ;
flex-shrink : 1 ;
display : none ;
2021-10-24 15:48:10 -07:00
}
a {
color : var ( --accent ) ;
}
label {
display : block ;
}
input [ type = "url" ] ,
input [ type = "text" ] {
background : # fff ;
background-clip : padding-box ;
border : 1px solid rgba ( 0 , 0 , 0 , 0 . 12 ) ;
border-radius : 6px ;
color : rgba ( 0 , 0 , 0 , 0 . 8 ) ;
display : block ;
margin : 0 . 5em 0 ;
padding : 0 . 5em 1em ;
line-height : 1 . 5 ;
font-family : sans-serif ;
font-size : 1em ;
2022-02-15 14:19:48 -08:00
width : 100 % ;
2021-10-24 15:48:10 -07:00
resize : none ;
overflow-x : wrap ;
overflow-y : scroll ;
}
button {
background-color : var ( --accent ) ;
border : var ( --accent ) ;
border-radius : 6px ;
2022-02-15 14:19:48 -08:00
color : # fff ;
2021-10-24 15:48:10 -07:00
padding : 0 . 5em 1em ;
display : inline-block ;
font-weight : 400 ;
text-align : center ;
white-space : nowrap ;
vertical-align : middle ;
font-family : sans-serif ;
font-size : 1em ;
2022-02-15 14:19:48 -08:00
width : 100 % ;
2021-10-24 15:48:10 -07:00
user-select : none ;
border : 1px solid rgba ( 0 , 0 , 0 , 0 ) ;
line-height : 1 . 5 ;
2022-02-14 12:58:59 -08:00
cursor : pointer ;
2022-02-15 14:19:48 -08:00
margin : 0 . 5em 0 ;
}
button : disabled {
filter : saturate ( 0 . 75 ) ;
opacity : 0 . 75 ;
cursor : default ;
2021-10-24 15:48:10 -07:00
}
button . small-button {
font-size : 0 . 75em ;
padding-top : 0 ;
padding-bottom : 0 ;
}
. subtitle-track-group {
display : flex ;
}
. subtitle-track-group > * {
margin-top : 0 ! important ;
margin-bottom : 0 ! important ;
margin-right : 1ch ! important ;
}
2021-11-11 09:26:30 -08:00
# pre-join-controls ,
# create-controls {
2022-02-15 14:19:48 -08:00
margin : 0 ;
flex-grow : 1 ;
overflow-y : auto ;
display : flex ;
flex-direction : column ;
align-items : center ;
justify-content : center ;
2021-10-24 15:48:10 -07:00
}
2021-11-11 09:26:30 -08:00
# join-session-form ,
# create-session-form {
2022-02-15 14:19:48 -08:00
width : 500px ;
max-width : 100 % ;
padding : 1rem ;
2021-10-24 15:48:10 -07:00
}
2021-10-24 18:59:52 -07:00
2021-11-11 09:26:30 -08:00
# post-create-message {
display : none ;
2022-02-15 14:19:48 -08:00
width : 100 % ;
2021-11-11 09:26:30 -08:00
font-size : 0 . 85em ;
}
2021-10-24 18:59:52 -07:00
# chatbox-container {
display : none ;
}
2021-11-05 06:07:21 -07:00
2021-11-22 16:48:53 -08:00
. chat-message {
overflow-wrap : break-word ;
}
2022-02-14 12:58:59 -08:00
. chat-message > strong , # viewer-list strong {
color : var ( --user-color , var ( --default-user-color ) ) ;
}
@ supports ( -webkit-background-clip : text ) {
. chat-message > strong , # viewer-list strong {
background : linear-gradient ( var ( --fg-transparent ) , var ( --fg-transparent ) ) , linear-gradient ( var ( --user-color , var ( --default-user-color ) ) , var ( --user-color , var ( --default-user-color ) ) ) ;
-webkit-background-clip : text ;
color : transparent ! important ;
}
2021-11-10 06:29:52 -08:00
}
. chat-message . user-join ,
2022-02-13 08:32:28 -08:00
. chat-message . user-leave ,
. chat-message . ping {
2021-11-05 06:07:21 -07:00
font-style : italic ;
}
2021-11-10 06:29:52 -08:00
. chat-message . set-time ,
. chat-message . set-playing {
font-style : italic ;
text-align : right ;
font-size : 0 . 85em ;
}
2022-02-14 06:30:42 -08:00
. chat-message . command-message {
font-size : 0 . 85em ;
}
2021-11-10 06:29:52 -08:00
. chat-message . set-time > strong ,
. chat-message . set-playing > strong {
2022-02-14 06:30:42 -08:00
color : unset ! important ;
2021-11-05 06:07:21 -07:00
}
2022-02-14 09:31:30 -08:00
. emoji {
width : 2ch ;
height : 2ch ;
object-fit : contain ;
margin-bottom : -0 . 35ch ;
}
2021-11-05 06:07:21 -07:00
# chatbox {
padding : 0 . 5em 2em ;
overflow-y : scroll ;
2022-02-14 12:58:59 -08:00
flex-shrink : 1 ;
flex-grow : 1 ;
2021-11-05 06:07:21 -07:00
}
2022-02-13 09:23:20 -08:00
# viewer-list {
padding : 0 . 5em 2em ;
/* TODO: turn this into max-height instead of fixed height without breaking the chatbox height */
overflow-y : scroll ;
border-bottom : var ( --fg ) ;
border-bottom-style : solid ;
2022-02-14 12:58:59 -08:00
max-height : 4rem ;
flex-shrink : 0 ;
2022-02-13 09:23:20 -08:00
}
2021-11-05 06:07:21 -07:00
# chatbox-container {
2022-02-14 12:58:59 -08:00
background-image : var ( --chat-bg ) ;
flex-direction : column ;
flex-grow : 0 ;
flex-shrink : 1 ;
flex-basis : 400px ;
overflow : hidden ;
2021-11-05 06:07:21 -07:00
}
# chatbox-send {
padding : 0 2em ;
padding-bottom : 0 . 5em ;
2022-02-14 12:58:59 -08:00
position : relative ;
2021-11-05 06:07:21 -07:00
}
# chatbox-send > input {
font-size : 0 . 75em ;
2021-11-10 06:29:52 -08:00
width : 100 % ;
}
2022-02-14 12:58:59 -08:00
# emoji-autocomplete {
position : absolute ;
bottom : 3 . 25rem ;
background-image : var ( --autocomplete-bg ) ;
padding : 0 . 25rem ;
border-radius : 6px ;
width : calc ( 100 % - 4 . 5rem ) ;
}
# emoji-autocomplete : empty {
display : none ;
}
2021-11-10 06:29:52 -08:00
2022-02-14 12:58:59 -08:00
. emoji-option {
background : transparent ;
font-size : 0 . 75rem ;
text-align : left ;
margin : 0 0 0 . 25rem ;
border-radius : 4px ;
width : 100 % ;
}
2022-02-15 14:19:48 -08:00
2022-02-14 12:58:59 -08:00
. emoji-option : hover , . emoji-option : focus {
background : var ( --fg-transparent ) ;
}
2022-02-15 14:19:48 -08:00
2022-02-14 12:58:59 -08:00
. emoji-option : last-child {
margin : 0 ;
}
2022-02-15 14:19:48 -08:00
# join-session-colour {
-moz-appearance : none ;
-webkit-appearance : none ;
appearance : none ;
border : none ;
padding : 0 ;
border-radius : 6px ;
overflow : hidden ;
margin : 0 . 5em 0 ;
height : 2rem ;
width : 2 . 5rem ;
cursor : pointer ;
}
input [ type = "color" ] :: -moz-color-swatch , input [ type = "color" ] :: -webkit-color-swatch , input [ type = "color" ] :: -webkit-color-swatch-wrapper { /* This *should* be working in Chrome, but it doesn't for reasons that are beyond me. */
border : none ;
margin : 0 ;
padding : 0 ;
}
2022-02-14 12:58:59 -08:00
@ media ( min-aspect-ratio : 4 / 3 ) {
body {
flex-direction : row ;
2021-11-10 06:29:52 -08:00
}
# chatbox-container {
width : 400px ;
height : 100vh ! important ;
}
# chatbox {
2022-02-13 09:23:20 -08:00
height : calc ( 100vh - 5em - 4em ) ! important ;
2021-11-10 06:29:52 -08:00
}
2021-11-05 06:07:21 -07:00
}