@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;500&display=swap"); :root { --font-family: "Poppins", sans-serif !important; --width: 65%; --text-colour: white; --text-colour-hover: black; --background-button: rgba(23, 23, 23, 85%); --background-button-hover: rgba(200, 200, 200, 85%); --background-title: rgba(23, 23, 23, 100%); /* --text-colour: black; --text-colour-hover: white; --background-button: rgba(200, 200, 200, 85%); --background-button-hover: rgba(0, 0, 0, 85%); --background-title: rgba(200, 200, 200); */ } * { padding: 0; margin: 0; font-family: var(--font-family); font-weight: 300; } #container { position: absolute; height: auto; top: 15%; right: 20%; z-index: 2; } .button { cursor: pointer; display: flex; flex-direction: row !important; gap: 10px; } .title { cursor: default; gap: 10px; display: flex; flex-direction: row !important; } #buttons { max-height: 80vh; width: 250%; overflow-x: none; overflow-y: auto; padding: 10px; } html, body { background: transparent !important; } #buttons::-webkit-scrollbar { display: none; } body::-webkit-scrollbar { display: none; } .button { max-width: 56%; height: 60%; background-color: var(--background-button); color: var(--text-colour); margin: auto; position: relative; top: 10%; overflow: hidden; padding: 0.45rem; display: flex; flex-direction: column; cursor: pointer; z-index: 1; transition-property: color; transition-duration: 0.1s, 0.2s; transition-timing-function: linear, ease-in; } .button::before { content: ""; position: absolute; top: 0; left: 0; width: 0%; height: 100%; background-color: var(--background-button-hover); z-index: 0; transition: width 0.2s ease; } .button:hover::before { width: 100%; } .button > * { position: relative; z-index: 1; } .button:hover { color: var(--text-colour-hover); } .icon > img { width: 2.2vh !important; } .icon { font-size: 1.2vh; transition-property: all, filter; transition-duration: 0.1s, 0.3s; transition-timing-function: linear, ease-in; display: inline-flex; align-items: center; position: static; justify-content: left; opacity: 0.5; } .button:hover > .icon { opacity: 1.0; animation: bounce 2s linear; filter: drop-shadow(-1px -1px 15px white); } .bounce { animation-name: bounce-4; animation-timing-function: ease; } @keyframes bounce { 0% { transform: scale(1,1); } 10% { transform: scale(1.1); } 30% { transform: scale(1.5); } 50% { transform: scale(1.5); } 100% { transform: scale(1.5); } } .title { font-family: var(--font-family); width: auto; max-width: 56%; height: 60%; background: var(--background-title); color: var(--text-colour); margin: auto; margin-left: -0.5; position: relative; top: 10%; overflow: hidden; padding: 0.45rem; flex-direction: column; border-left: 0px; } .title > div.header { font-family: var(--font-family); text-decoration: underline !important; } .disabled { cursor: default; } div > .text { font-family: var(--font-family); flex-direction: column; font-size: 1.0vh; overflow: hidden; } div > .header { font-family: var(--font-family); width: 100%; max-width: 100%; display: flex; align-items: center; position: relative; justify-content: left; overflow: wrap; font-size: 1.3vh; font-weight: 400; overflow: hidden; } /* Search input */ .title.search-container { background: var(--background-button); color: var(--text-colour); border-top-left-radius: 8px; border-top-right-radius: 8px; z-index: 3; } .title.search-container input[type="text"] { color: var(--text-colour); font-family: var(--font-family); font-size: 1rem; width: auto; max-width: 56%; border: none; background-color: transparent; transition: background-color 0.2s ease, color 0.2s ease; outline: none; } .title.search-container input[type="text"]::placeholder { color: var(--text-colour); opacity: 0.5; } .progress-container { z-index: 99999; width: auto; max-width: 56%; background-color: var(--background-title); height: 0.4vh; padding-left: 0.45rem; padding-right: 0.45rem; margin: auto; } .progress-bar { height: 90%; max-width: auto; transition: width 0.3s ease-in-out; } .hidden { display: none !important; } #input-popup { position: fixed; top: 0; left: 0; height: 100vh; width: 100vw; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.5); z-index: 999; } .input-box { font-weight: 300; background: var(--background-button); color: var(--text-colour); width: 25vw; box-shadow: 0 0 15px var(--background-button-hover); } .input-header { font-size: 1.4rem; margin-bottom: 1rem; margin-top: 0.5rem; font-weight: 500; text-align: center; } .input-actions { display: flex; justify-content: space-between; margin-top: 1rem; } .input-actions button { padding: 0.5rem 1rem; border: none; border-radius: 6px; margin-bottom: 0.8rem; margin-left: 0.6rem; margin-right: 0.6rem; cursor: pointer; background: var(--background-button); color: var(--text-colour); transition: background 0.2s ease; } .input-actions button:hover { color: var(--text-colour-hover); background: var(--background-button-hover); } .input-wrapper { position: relative; width: 95%; padding: 0.1rem; margin-left: 0.6rem; margin-bottom: 0.8rem; background-color: var(--background-title); overflow: hidden; } .input-wrapper::before { content: ""; position: absolute; top: 0; left: 0; width: 0%; height: 100%; background-color: var(--background-button-hover); z-index: 0; transition: width 0.2s ease; } .input-wrapper:focus-within::before { width: 100%; } .input-wrapper:focus-within .input-field { color: var(--text-colour-hover) !important; } .input-wrapper:focus-within .input-label { color: var(--text-colour-hover) !important; } .checkbox-wrapper:has(.checkbox-input:focus) .checkbox-label { color: var(--text-colour-hover) !important; } .input-wrapper:focus-within .color-preview { color: var(--text-colour-hover) !important; } .input-wrapper:has(input[type="range"]:focus) .slider-values { color: var(--text-colour-hover) !important; } .input-wrapper:focus-within .slider-current { color: var(--text-colour-hover) !important; } .input-field { width: 100%; position: relative; z-index: 1; border: transparent; background: transparent; color: var(--text-colour); font-size: 1rem; transition: color 0.2s ease; } .input-wrapper:hover .input-field { color: var(--text-colour-hover); } .input-label { display: block; font-size: 0.9rem; font-weight: 500; color: var(--text-colour); margin-bottom: 0.25rem; z-index: 1; position: relative; } .radio-wrapper { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem; background: var(--background-title); border-radius: 4px; z-index: 1; } .radio-input { transform: scale(1.2); accent-color: var(--background-button-hover); z-index: 1; } .radio-label { color: var(--text-colour); font-size: 0.95rem; z-index: 1; } /* Focus styling */ .radio-wrapper:has(.radio-input:focus) .radio-label { color: var(--text-colour-hover) !important; } .input-wrapper:focus-within .radio-label { color: var(--text-colour-hover) !important; } .input-wrapper.color-picker { display: flex; flex-direction: column; /* this is key */ align-items: flex-start; justify-content: flex-start; z-index: 1; } .input-field[type="color"] { width: 100%; /* half width */ padding: 0.2rem; cursor: pointer; z-index: 1; } .color-preview { display: inline-block; margin-left: 0.5rem; font-size: 0.9rem; color: var(--text-colour); z-index: 1; position: relative; } .slider-values { z-index: 2; position: relative; /* <-- this is the key */ margin-left: 0.6rem; margin-right: 0.6rem; display: flex; justify-content: space-between; font-size: 0.85rem; color: var(--text-colour); margin-bottom: 0.3rem; } .slider-current { font-weight: bold; color: var(--text-colour); z-index: 1; } .input-field select, .input-field option { background-color: var(--background-button); color: var(--text-colour); } .input-field option:hover, .input-field option:focus { background-color: var(--background-button-hover); color: var(--text-colour-hover); }