:root { /* Background */ --bg: #282828; --bg0: #282828; --bg0_s: #32302f; --bg1: #3c3836; --bg2: #504945; --bg3: #665c54; --bg4: #7c6f64; /* Foreground */ --fg: #ebdbb2; --fg0: #fbf1c7; --fg1: #ebdbb2; --fg2: #d5c4a1; --fg3: #bdae93; --fg4: #a89984; /* Grayer */ --gray: #928374; --gray1: #a89984; --gray2: #928374; /* Normal colors */ --red: #cc241d; --green: #98971a; --yellow: #d79921; --blue: #458588; --purple: #b16286; --aqua: #689d6a; --orange: #d65d0e; /* Light colors */ --light_red: #fb4934; --light_green: #b8bb26; --light_yellow: #fabd2f; --light_blue: #83a598; --light_purple: #d3869b; --light_aqua: #8ec07c; --light_orange: #fe8019; color-scheme: light dark; --animation-duration: 300ms; --base-font-size: 16px; } /* High DPI */ @media screen and (min-width: 3000px) and (min-height: 1200px) { #screen { zoom: 2; } } html { color: var(--fg); background-color: black; min-height: 100%; position: relative; font-family: system-ui; font-size: var(--base-font-size); text-rendering: optimizeSpeed; /*image-rendering: pixelated;*/ } html > * { font-family: system-ui; font-size: inherit; } body { display: flex; min-height: 100vh; margin: 0; transition: var(--animation-duration); } .button { background: var(--bg4); border: 0; padding: 0.5em; font-size: inherit; cursor: pointer; border-radius: 5px; transition: var(--animation-duration); } .info { position: absolute; margin: 10px; font-size: 2em; padding: 8px; border-radius: 5px; transition: var(--animation-duration); cursor: default; } .info:hover { background: #3c3836aa; backdrop-filter: blur(10px); } button { color: var(--fg); border: 0; font-size: inherit; font-family: inherit; } #background { height: 100vh; width: 100vw; position: absolute; background-color: var(--bg); background-image: url("../assets/bubbles.svg"); } #cover { height: 100vh; width: 100vw; position: absolute; z-index: 10; transition: var(--animation-duration); display: flex; align-items: center; justify-content: center; cursor: pointer; background-color: #282828aa; backdrop-filter: blur(5px); } #cover > #message { font-size: 4em; font-weight: bold; cursor: default; } #cover:focus { outline: 0 !important; } #screen { width: 100%; position: relative; display: flex; align-items: center; justify-content: center; } #login-form { background: var(--bg0_s); border-radius: 10px; border-color: var(--bg4); border-bottom: 8px solid; max-height: 90vh; box-sizing: border-box; height: 22em; transition: var(--animation-duration); } #login-form:focus-within, #login-form:hover { filter: drop-shadow(2px 6px 10px rgba(0, 0, 0, 0.8)); } #login-form-box { position: relative; height: -webkit-fill-available; display: flex; padding: 1.5em 3em; align-items: center; justify-content: center; flex-direction: column; border-bottom: 8px solid; border-color: var(--bg3); border-radius: 5px; } input { background-color: var(--bg1); color: var(--fg); border: 0; border-radius: 5px; padding: 0.8em; margin: 0.5em; font-family: inherit; font-size: inherit; } input:focus, input:focus-visible { border: 0; outline: auto var(--fg); } #input { position: relative; } #input #pass-eye { position: absolute; right: 15px; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; height: fit-content; background-color: var(--bg1); } #input #pass-eye:hover, #input #pass-eye:focus { background-color: var(--bg2); } input::-ms-reveal, input::-ms-clear { display: none; } :focus { outline: auto var(--fg) !important; } ::placeholder { color: var(--fg3); } #background-image { background: var(--blue); position: absolute; width: calc(10em + 12px); height: calc(10em + 12px); clip-path: circle(); border-radius: 100%; transition: var(--animation-duration); display: flex; justify-content: center; align-items: center; } #background-image > i { font-size: 6em; } #user-image { margin: 0 0 0.5em 0; display: flex; align-items: center; justify-content: center; } #user-image > img { width: 10em; height: 10em; clip-path: circle(); border-radius: 100%; transition: var(--animation-duration); } #login-form.failed #user-image > #background-image { background: var(--light_red); } #login-form.success #user-image > #background-image { background: var(--light_aqua); } #user-label { margin: 0.5em; font-size: calc(1em + 4px); } #pass-form > form { display: flex; align-items: center; } #submit-button { background: var(--aqua); } #submit-button:hover, #submit-button:focus { background: var(--light_aqua); } #session-label { bottom: 0; left: 0; } #lock-label { top: 0; left: 0; font-weight: bold; } #time-date { top: 0; font-weight: bold; font-size: calc(1em + 2px); display: flex; flex-direction: column; justify-content: center; align-items: center; } #time-date span { display: block; } .label-bar { position: absolute; display: flex; flex-direction: row; margin: 10px; transition: var(--animation-duration); } .label-bar > * { background-color: transparent; padding: 8px; transition: var(--animation-duration); border-radius: 5px; cursor: default; font-weight: bold; } .label-bar > *.hide { display: none; } .label-bar > *:hover, .label-bar > *:focus-within { background: #3c3836aa; backdrop-filter: blur(10px); } #layouts-list { padding: 0; } #layouts-button { all: unset; cursor: pointer; padding: 8px; } #layouts-dropdown { position: absolute; margin: 2px; } #system-status { top: 0; right: 0; } #system-power { bottom: 0; right: 0; } #system-power > * { background: transparent; font-size: 2em; cursor: pointer; } #system-power > *:hover, #system-power > *:focus { background: #3c3836aa; backdrop-filter: blur(10px); } #sessions-list { position: absolute; left: 0; top: 0; display: flex; align-items: flex-start; flex-direction: column; } #users-list { position: absolute; right: 0; top: 0; display: flex; align-items: flex-end; flex-direction: column; } #sessions-button { background: var(--blue); margin: 10px; } #users-button { background: var(--purple); margin: 10px; float: right; } .hide { opacity: 0; visibility: hidden; } .dropdown { margin: 2px 10px 10px 10px; background: var(--bg3); transition: var(--animation-duration); padding: 0; min-width: 8em; max-height: 60vh; overflow-y: auto; } .dropdown button { background: transparent; color: var(--fg); padding: 0.8em; width: -webkit-fill-available; } .dropdown button:hover, .dropdown button:focus { background: var(--bg4); } .dropdown.hide { visibility: hidden; max-height: 0; opacity: 0; } .dropdown:not(.hide) { visibility: visible; } li { text-decoration: none; display: block; } #users-button:hover, #users-button:focus { background: var(--light_purple); } #sessions-button:hover, #sessions-button:focus { background: var(--light_blue); } .button:hover span::before, .button:focus span::before { transform: rotate(180deg); } .button span::before { transition: var(--animation-duration); } ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: var(--bg1); } ::-webkit-scrollbar-thumb { background: var(--blue); } ::-webkit-scrollbar-thumb:hover { background: var(--light_blue); }