Updated styling, formatting, structure of frontend

This commit is contained in:
rockerBOO
2025-04-30 20:04:21 -04:00
parent 18ce902aa0
commit 71a30512c9
60 changed files with 3683 additions and 2451 deletions

9
assets/css/animation.css Normal file
View File

@@ -0,0 +1,9 @@
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -10,18 +10,18 @@
}
.watch-on-invidious {
font-size: 1.3em !important;
font-size: 1.3em;
font-weight: bold;
white-space: nowrap;
margin: 0 1em 0 1em !important;
margin: 0 1em;
order: 3;
}
/**/
/* .watch-on-invidious > a { */
/* color: white; */
/* } */
.watch-on-invidious > a {
color: white;
}
.watch-on-invidious > a:hover,
.watch-on-invidious > a:focus {
color: rgba(0, 182, 240, 1);;
}
/* .watch-on-invidious > a:hover, */
/* .watch-on-invidious > a:focus { */
/* color: ; */
/* } */

View File

@@ -1,16 +1,32 @@
/* Widget covers the whole page */
#search-widget {
text-align: center;
margin: 20vh 0 50px 0;
position: absolute;
height: 100%;
width: 100%;
display: grid;
justify-content: center;
grid-gap: var(--gap);
top: 0;
left: 0;
pointer-events: none;
}
#logo > h1 {
font-size: 3.5em;
margin: 0;
padding: 0;
.search-homepage {
display: grid;
grid-template-rows: 1fr 1fr;
}
@media screen and (max-width: 1500px) and (max-height: 1000px) {
#logo > h1 {
font-size: 10vmin;
}
#search-widget > h1 {
align-self: flex-end;
font-size: 3em;
text-transform: uppercase;
margin: 0;
padding: 0;
text-align: center;
}
.searchbar {
/* reset pointer events for interactive components */
pointer-events: initial;
}

View File

@@ -1,92 +1,106 @@
.video-js {
font-family: inherit;
font-size: inherit;
}
/* Youtube player style */
.video-js.player-style-youtube .vjs-progress-control {
height: 0;
}
/* .video-js.player-style-youtube .vjs-progress-control { */
/* height: 0; */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-progress-control .vjs-progress-holder, */
/* .video-js.player-style-youtube .vjs-progress-control { */
/* position: absolute; */
/* right: 0; */
/* left: 0; */
/* width: 100%; */
/* margin: 0; */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-control-bar { */
/* background: linear-gradient(rgb(0 0 0 / 10%), rgba(0 0 0 / 50%)); */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-slider { */
/* background-color: rgb(255 255 255 / 20%); */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-load-progress > div { */
/* background-color: rgb(255 255 255 / 20%); */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-play-progress { */
/* background-color: var(--accent-bg-color); */
/* } */
/**/
/* .video-js.player-style-youtube */
/* .vjs-progress-control:hover */
/* .vjs-progress-holder { */
/* font-size: 1em; */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-control-bar > .vjs-spacer { */
/* flex: 1; */
/* order: 2; */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-play-progress .vjs-time-tooltip { */
/* display: none; */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-play-progress::before { */
/* color: var(--accent-bg-color); */
/* font-size: 0.85em; */
/* display: none; */
/* } */
/**/
/* .video-js.player-style-youtube */
/* .vjs-progress-holder:hover */
/* .vjs-play-progress::before { */
/* display: unset; */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-control-bar { */
/* display: flex; */
/* flex-direction: row; */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-big-play-button { */
/* /* */
/* Styles copied from video-js.min.css, definition of */
/* .vjs-big-play-centered .vjs-big-play-button */
/* */
*/
/* top: 50%; */
/* left: 50%; */
/* margin-top: -0.8167em; */
/* margin-left: -1.5em; */
/* } */
.video-js.player-style-youtube .vjs-progress-control .vjs-progress-holder, .video-js.player-style-youtube .vjs-progress-control {
position: absolute;
right: 0;
left: 0;
width: 100%;
margin: 0;
}
/* .video-js.player-style-youtube .vjs-menu-button-popup .vjs-menu { */
/* margin-bottom: 2em; */
/* padding-top: 2em; */
/* } */
/**/
/* .video-js.player-style-youtube .vjs-progress-control .vjs-progress-holder, */
/* .video-js.player-style-youtube .vjs-progress-control { */
/* height: 0.3em; */
/* margin-bottom: 0.6em; */
/* } */
/**/
/* ul.vjs-menu-content::-webkit-scrollbar { */
/* display: none; */
/* } */
/**/
/* .vjs-user-inactive { */
/* cursor: none; */
/* } */
.video-js.player-style-youtube .vjs-control-bar {
background: linear-gradient(rgba(0,0,0,0.1), rgba(0, 0, 0,0.5));
}
.video-js.player-style-youtube .vjs-slider {
background-color: rgba(255,255,255,0.2);
}
.video-js.player-style-youtube .vjs-load-progress > div {
background-color: rgba(255,255,255,0.5);
}
.video-js.player-style-youtube .vjs-play-progress {
background-color: red;
}
.video-js.player-style-youtube .vjs-progress-control:hover .vjs-progress-holder {
font-size: 15px;
}
.video-js.player-style-youtube .vjs-control-bar > .vjs-spacer {
flex: 1;
order: 2;
}
.video-js.player-style-youtube .vjs-play-progress .vjs-time-tooltip {
display: none;
}
.video-js.player-style-youtube .vjs-play-progress::before {
color: red;
font-size: 0.85em;
display: none;
}
.video-js.player-style-youtube .vjs-progress-holder:hover .vjs-play-progress::before {
display: unset;
}
.video-js.player-style-youtube .vjs-control-bar {
display: flex;
flex-direction: row;
}
.video-js.player-style-youtube .vjs-big-play-button {
/*
Styles copied from video-js.min.css, definition of
.vjs-big-play-centered .vjs-big-play-button
*/
top: 50%;
left: 50%;
margin-top: -0.81666em;
margin-left: -1.5em;
}
.video-js.player-style-youtube .vjs-menu-button-popup .vjs-menu {
margin-bottom: 2em;
padding-top: 2em
}
.video-js.player-style-youtube .vjs-progress-control .vjs-progress-holder, .video-js.player-style-youtube .vjs-progress-control {height: 5px;
margin-bottom: 10px;}
ul.vjs-menu-content::-webkit-scrollbar {
display: none;
}
.vjs-user-inactive {
cursor: none;
}
.video-js .vjs-text-track-display > div > div > div {
background-color: rgba(0, 0, 0, 0.75) !important;
border-radius: 9px !important;
padding: 5px !important;
}
/* .video-js .vjs-text-track-display > div > div > div { */
/* background-color: rgb(0 0 0 / 75%); */
/* border-radius: 0.5em; */
/* padding: 0.3em; */
/* } */
.vjs-play-control,
.vjs-volume-panel,
@@ -123,143 +137,252 @@ ul.vjs-menu-content::-webkit-scrollbar {
order: 7;
}
.vjs-playback-rate > .vjs-menu {
width: 50px;
/* .vjs-playback-rate > .vjs-menu { */
/* width: 3.2em; */
/* } */
/**/
/* Make the video relative, instead of absolute, so that
the parent container will size based on the video. Also,
note the max-height rule. Note the line-height 0 is to prevent
a small artifact on the bottom of the video.
https://stackoverflow.com/questions/46747320/limit-the-height-in-videojs-in-fluid-mode/47039499#47039499
*/
.video-js.vjs-fluid,
.video-js.vjs-16-9,
.video-js.vjs-4-3,
video.video-js,
video.vjs-tech {
max-height: 85vh;
position: relative !important;
width: 100%;
height: auto;
max-width: 100% !important;
padding-top: 0 !important;
line-height: 0;
}
.vjs-control-bar {
.video-js.vjs-16-9 {
/* Keep the video spaced to fit */
aspect-ratio: 16 / 9;
}
.video-js.vjs-4-3 {
/* Keep the video spaced to fit */
aspect-ratio: 4 / 3;
}
#player {
/* Default to 16/9 video spacing */
aspect-ratio: 16 / 9;
max-width: 100%;
}
.vjs-error .vjs-error-display:before,
.video-js .vjs-volume-tooltip,
.video-js .vjs-time-tooltip,
.vjs-menu .vjs-menu-content {
font-family: inherit;
}
.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
background-color: var(--secondary-bg-color-dark);
}
.vjs-menu li.vjs-menu-item:focus,
.vjs-menu li.vjs-menu-item:hover,
.js-focus-visible .vjs-menu li.vjs-menu-item:hover {
background-color: var(--accent-bg-color-dark);
}
.video-js .vjs-slider {
background-color: rgb(166 166 166 / 50%);
}
.video-js .vjs-load-progress {
background-color: rgb(227 227 227 / 75%);
}
@media (max-width: 480px) {
#player {
/* Default to 16/9 video spacing */
aspect-ratio: unset;
}
}
.vjs-fullscreen video {
max-height: 100vh !important;
}
.video-js .vjs-control-bar {
display: flex;
flex-direction: row;
scrollbar-width: none;
/* Fix the control bar due to us resetting the line-height on the video-js */
line-height: 1;
background: linear-gradient(
to bottom,
transparent 0%,
var(--secondary-bg-color-dark) 50%
);
}
.vjs-control-bar button:hover,
.vjs-control-bar button:focus {
outline-width: 0;
}
.vjs-control-bar::-webkit-scrollbar {
display: none;
}
.video-js .vjs-icon-cog {
font-size: 18px;
.vjs-playback-rate .vjs-playback-rate-value {
font-size: 1em;
line-height: 3rem;
}
.video-js .vjs-control-bar,
.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
background-color: rgba(35, 35, 35, 0.75);
.vjs-button > .vjs-icon-placeholder::before {
font-size: 1.25em;
line-height: 3rem;
}
.vjs-menu li.vjs-menu-item:focus,
.vjs-menu li.vjs-menu-item:hover {
background-color: rgba(255, 255, 255, 0.75);
color: rgba(49, 49, 51, 0.75);
.vjs-menu li {
font-size: 1em;
}
.vjs-menu li.vjs-selected,
.vjs-menu li.vjs-selected:focus,
.vjs-menu li.vjs-selected:hover {
background-color: rgba(0, 182, 240, 0.75);
.video-js .vjs-control {
width: 3em;
}
/* Progress Bar */
.video-js .vjs-slider {
background-color: rgba(15, 15, 15, 0.5);
.video-js .vjs-time-control {
width: auto;
}
.video-js .vjs-load-progress,
.video-js .vjs-load-progress div {
background: rgba(87, 87, 88, 1);
.vjs-poster {
background-size: cover;
}
.video-js .vjs-share__short-link-wrapper {
color: var(--fg-color-dark);
background-color: var(--secondary-bg-color-dark);
height: 2em;
margin: 0 auto;
margin-bottom: var(--secondary-gap);
border-radius: var(--radius);
}
.video-js .vjs-share__short-link {
padding: var(--secondary-gap);
background-color: var(--secondary-bg-color-dark);
color: var(--fg-color-dark);
font-family: var(--monospace);
min-width: 15em;
}
.video-js .vjs-share__btn {
background-color: var(--secondary-bg-color-dark);
color: var(--fg-color-dark);
height: 2em;
width: 2.25em;
padding: var(--secondary-gap);
}
.video-js .vjs-share__title {
font-size: 1.25em;
color: var(--fg-color-dark);
}
.video-js .vjs-share__subtitle {
font-size: 1em;
color: var(--fg-color-dark);
margin: 0 auto var(--secondary-gap);
}
.video-js.vjs-videojs-share_open .vjs-modal-dialog .vjs-close-button {
height: var(--gap);
}
.video-js.vjs-videojs-share_open .vjs-modal-dialog .vjs-close-button::before {
content: "";
}
.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder::before {
line-height: 1.67;
}
.video-js .vjs-share__middle {
padding: 0 var(--secondary-gap);
}
.vjs-modal-dialog .vjs-modal-dialog-content {
font-size: 1em;
line-height: 1.1;
}
/**/
/* .video-js .vjs-icon-cog { */
/* font-size: 1em; */
/* } */
/**/
/* .video-js .vjs-control-bar, */
/* .vjs-menu-button-popup .vjs-menu .vjs-menu-content { */
/* background-color: rgb(35 35 35 / 75%); */
/* } */
/**/
/* .vjs-menu li.vjs-menu-item:focus, */
/* .vjs-menu li.vjs-menu-item:hover { */
/* background-color: rgb(255 255 255 / 75%); */
/* color: rgb(49 49 51 / 75%); */
/* } */
/**/
/* .vjs-menu li.vjs-selected, */
/* .vjs-menu li.vjs-selected:focus, */
/* .vjs-menu li.vjs-selected:hover { */
/* background-color: rgb(0 182 240 / 75%); */
/* } */
/**/
/* /* Progress Bar */
*/
/* .video-js .vjs-slider { */
/* background-color: rgb(15 15 15 / 50%); */
/* } */
/**/
/* .video-js .vjs-load-progress, */
/* .video-js .vjs-load-progress div { */
/* background: rgb(87 87 88); */
/* } */
/**/
.video-js .vjs-slider:hover,
.video-js button:hover {
color: rgba(0, 182, 240, 1);
background-color: var(--accent-bg-color);
}
.video-js.player-style-invidious .vjs-play-progress {
background-color: rgba(0, 182, 240, 1);
background-color: var(--accent-bg-color);
}
/* Overlay */
.video-js .vjs-overlay {
background-color: rgba(35, 35, 35, 0.75) !important;
}
.video-js .vjs-overlay * {
color: rgba(255, 255, 255, 1) !important;
text-align: center;
.vjs-modal-dialog .vjs-modal-dialog-content {
padding: var(--gap);
}
/* ProgressBar marker */
.vjs-marker {
background-color: rgba(255, 255, 255, 1);
z-index: 0;
}
/* Big "Play" Button */
.video-js .vjs-big-play-button {
background-color: rgba(35, 35, 35, 0.5);
font-size: var(--gap);
line-height: var(--gap);
height: var(--gap);
width: calc(var(--gap) * 2);
top: var(--secondary-gap);
left: var(--secondary-gap);
background-color: var(--secondary-bg-color);
border: none;
opacity: 0.7;
transition: opacity 240ms;
}
.video-js:hover .vjs-big-play-button {
background-color: rgba(35, 35, 35, 0.75);
.video-js .vjs-big-play-button:hover {
opacity: 0.9;
}
.video-js .vjs-current-time,
.video-js .vjs-time-divider,
.video-js .vjs-duration {
display: block;
}
.video-js .vjs-time-divider {
min-width: 0px;
padding-left: 0px;
padding-right: 0px;
}
.video-js .vjs-poster {
background-size: cover;
object-fit: cover;
}
.player-dimensions.vjs-fluid {
padding-top: 82vh;
}
video.video-js {
position: absolute;
height: 100%;
}
#player-container {
position: relative;
padding-left: 0;
padding-right: 0;
margin-left: 1em;
margin-right: 1em;
padding-bottom: 82vh;
height: 0;
}
.mobile-operations-bar {
display: flex;
position: absolute;
top: 0;
right: 1px !important;
left: initial !important;
width: initial !important;
}
.mobile-operations-bar ul {
position: absolute !important;
bottom: unset !important;
top: 1.5em;
}
@media screen and (max-width: 700px) {
.video-js .vjs-share {
justify-content: unset;
}
}
@media screen and (max-width: 650px) {
.vjs-modal-dialog-content {
overflow-x: hidden;
}
.vjs-control-bar {
background-color: var(--secondary-bg-color-dark);
}

73
assets/css/pure-fix.css Normal file
View File

@@ -0,0 +1,73 @@
/** fixes for pure to support our colors */
.pure-form input[type="color"],
.pure-form input[type="date"],
.pure-form input[type="datetime-local"],
.pure-form input[type="datetime"],
.pure-form input[type="email"],
.pure-form input[type="month"],
.pure-form input[type="number"],
.pure-form input[type="password"],
.pure-form input[type="search"],
.pure-form input[type="tel"],
.pure-form input[type="text"],
.pure-form input[type="time"],
.pure-form input[type="url"],
.pure-form input[type="week"],
.pure-form select,
.pure-form textarea {
font-size: inherit;
padding: var(--secondary-gap);
color: var(--fg-color);
background-color: var(--secondary-bg-color);
border: 1px solid var(--secondary-bg-color);
box-shadow: unset;
border-radius: var(--radius);
}
.pure-menu-heading,
.pure-g,
.pure-g [class*="pure-u"] {
font-family: inherit;
letter-spacing: initial;
}
.pure-form legend {
color: var(--fg-color);
border-bottom: 1px solid var(--accent-color);
}
legend {
border: initial;
padding: initial;
}
.pure-button {
font-family: inherit;
font-size: inherit;
padding: 0;
color: currentcolor;
border: none;
border: none transparent;
background-color: transparent;
text-decoration: none;
border-radius: inherit;
}
.pure-button-hover,
.pure-button:focus,
.pure-button:hover {
background-image: none;
}
/* Wider settings name to less word wrap */
.pure-form-aligned .pure-control-group label {
width: 19em;
}
.pure-menu-heading {
color: var(--accent-color);
}
a:active, a:hover {
outline: inherit;
}

View File

@@ -1,121 +1,111 @@
summary {
/* This should hide the marker */
display: block;
font-size: 1.17em;
font-weight: bold;
margin: 0 auto 10px auto;
cursor: pointer;
display: block;
font-size: 1.17em;
margin: 0 auto 0.625em;
cursor: pointer;
}
summary::-webkit-details-marker,
summary::marker { display: none; }
summary:before {
border-radius: 5px;
content: "[ + ]";
margin: -2px 10px 0 10px;
padding: 1px 0 3px 0;
text-align: center;
width: 40px;
summary::marker {
display: none;
}
details[open] > summary:before { content: "[ ]"; }
#filters-box {
padding: 10px 20px 20px 10px;
margin: 10px 15px;
summary::before {
content: "+ ";
text-align: center;
}
#filters-flex {
details[open] > summary::before {
content: " ";
}
.filters {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(12em, 1fr));
grid-gap: var(--secondary-gap);
margin: var(--gap) 0;
}
.filters fieldset {
display: grid;
grid-gap: var(--secondary-gap);
align-content: baseline;
}
.filters fieldset div {
display: flex;
flex-wrap: wrap;
flex-direction: row;
align-items: flex-start;
align-content: flex-start;
justify-content: flex-start;
gap: var(--secondary-gap);
}
fieldset, legend {
display: contents !important;
border: none !important;
margin: 0 !important;
padding: 0 !important;
}
.filter-column {
display: inline-block;
display: inline-flex;
width: max-content;
min-width: max-content;
max-width: 16em;
margin: 15px;
flex-grow: 2;
flex-basis: auto;
flex-direction: column;
}
.filter-name, .filter-options {
display: block;
padding: 5px 10px;
margin: 0;
text-align: start;
}
.filter-options div { margin: 6px 0; }
.filter-options div * { vertical-align: middle; }
.filter-options label { margin: 0 10px; }
#filters-apply {
text-align: right; /* IE11 only */
text-align: end; /* Override for compatible browsers */
}
/* #filters-box { */
/* background-color: var(--secondary-bg-color); */
/* } */
/**/
/* #filters-flex { */
/* display: flex; */
/* flex-flow: row wrap; */
/* align-items: flex-start; */
/* place-content: flex-start flex-start; */
/* } */
/**/
/* .filter-column { */
/* display: inline-block; */
/* display: inline-flex; */
/* width: max-content; */
/* min-width: max-content; */
/* max-width: 16em; */
/* margin: 0.9375rem; */
/* flex-grow: 2; */
/* flex-basis: auto; */
/* flex-direction: column; */
/* } */
/**/
/* .filter-name, */
/* .filter-options { */
/* display: block; */
/* padding: 0.3125rem 0.625rem; */
/* margin: 0; */
/* text-align: start; */
/* } */
/**/
/* .filter-options div { */
/* margin: 0.375rem 0; */
/* } */
/**/
/* .filter-options div * { */
/* vertical-align: middle; */
/* } */
/**/
/* .filter-options label { */
/* margin: 0 0.625rem; */
/* } */
/**/
/* #filters-apply { */
/* text-align: right; /* IE11 only */ */
/* text-align: end; /* Override for compatible browsers */ */
/* } */
/* Error message */
.no-results-error {
text-align: center;
line-height: 180%;
font-size: 110%;
padding: 15px 15px 125px 15px;
text-align: center;
font-size: 1.1em;
padding: 1em 1em 8em;
}
/* Responsive rules */
@media only screen and (max-width: 800px) {
summary { font-size: 1.30em; }
#filters-box {
margin: 10px 0 0 0;
padding: 0;
}
#filters-apply {
text-align: center;
padding: 15px;
}
}
/* Light theme */
.light-theme #filters-box {
background: #dfdfdf;
}
@media (prefers-color-scheme: light) {
.no-theme #filters-box {
background: #dfdfdf;
}
}
/* Dark theme */
.dark-theme #filters-box {
background: #373737;
}
@media (prefers-color-scheme: dark) {
.no-theme #filters-box {
background: #373737;
}
}
/* @media only screen and (max-width: 50px) { */
/* summary { */
/* font-size: 1.3em; */
/* } */
/**/
/* #filters-box { */
/* margin: 0.6em 0 0; */
/* padding: 0; */
/* } */
/**/
/* #filters-apply { */
/* text-align: center; */
/* padding: 1em; */
/* } */
/* } */
/**/

View File

@@ -0,0 +1,16 @@
:root {
--fg-color-dark: #f8f8f2;
--bg-color-dark: #eff1f5;
--accent-color-dark: #fff;
--accent-bg-color-dark: #181926;
--secondary-color-dark: #e3e3e3;
--secondary-bg-color-dark: #494d64;
/* light theme colors */
--fg-color-light: #4c4f69;
--bg-color-light: #eff1f5;
--accent-color-light: #bcc0cc;
--accent-bg-color-light: #7287fd;
--secondary-color-light: #5c5f77;
--secondary-bg-color-light: #e6e9ef;
}

View File

@@ -0,0 +1,16 @@
:root {
--fg-color-dark: #f8f8f2;
--bg-color-dark: #24273a;
--accent-color-dark: #fff;
--accent-bg-color-dark: #181926;
--secondary-color-dark: #e3e3e3;
--secondary-bg-color-dark: #494d64;
/* light theme colors */
--fg-color-light: black;
--bg-color-light: #eee;
--accent-color-light: #3a3a3a;
--accent-bg-color-light: #008bec;
--secondary-color-light: #424242;
--secondary-bg-color-light: #d9d9d9;
}

View File

@@ -0,0 +1,16 @@
:root {
--fg-color-dark: #f8f8f2;
--bg-color-dark: #282a36;
--accent-color-dark: #fff;
--accent-bg-color-dark: #44475a;
--secondary-color-dark: #e3e3e3;
--secondary-bg-color-dark: #21222C;
/* light theme colors */
--fg-color-light: black;
--bg-color-light: #eee;
--accent-color-light: #3a3a3a;
--accent-bg-color-light: #008bec;
--secondary-color-light: #424242;
--secondary-bg-color-light: #d9d9d9;
}

View File

@@ -0,0 +1,16 @@
:root {
--fg-color-dark: #f8f8f2;
--bg-color-dark: #1a1b26;
--accent-color-dark: #fff;
--accent-bg-color-dark: #3e4f80;
--secondary-color-dark: #e3e3e3;
--secondary-bg-color-dark: #2e2e3e;
/* light theme colors */
--fg-color-light: black;
--bg-color-light: #eee;
--accent-color-light: #3a3a3a;
--accent-bg-color-light: #008bec;
--secondary-color-light: #424242;
--secondary-bg-color-light: #d9d9d9;
}

59
assets/css/theme.css Normal file
View File

@@ -0,0 +1,59 @@
:root {
--fg-color-dark: #f0f0f0;
--bg-color-dark: #131313;
--accent-color-dark: #27a6ff;
--accent-bg-color-dark: #004a7e;
--secondary-color-dark: #e3e3e3;
--secondary-bg-color-dark: #313131;
--watched-overlay-color-dark: rgb(0 0 0 / 40%);
/* light theme colors */
--fg-color-light: black;
--bg-color-light: #eee;
--accent-color-light: #044c99;
--accent-bg-color-light: #3eaefd;
--secondary-color-light: #404040;
--secondary-bg-color-light: #dbdbdb;
--watched-overlay-color-light: rgb(255 255 255 / 40%);
/** apply default colors to dark */
--fg-color: var(--fg-color-dark);
--bg-color: var(--bg-color-dark);
--accent-color: var(--accent-color-dark);
--accent-bg-color: var(--accent-bg-color-dark);
--secondary-color: var(--secondary-color-dark);
--secondary-bg-color: var(--secondary-bg-color-dark);
--watched-overlay-color: var(--watched-overlay-color-dark);
}
@media (prefers-color-scheme: light) {
:root {
--fg-color: var(--fg-color-light);
--bg-color: var(--bg-color-light);
--accent-color: var(--accent-color-light);
--accent-bg-color: var(--accent-bg-color-light);
--secondary-color: var(--secondary-color-light);
--secondary-bg-color: var(--secondary-bg-color-light);
--watched-overlay-color: var(--watched-overlay-color-dark);
}
}
.light-theme {
--fg-color: var(--fg-color-light);
--bg-color: var(--bg-color-light);
--accent-color: var(--accent-color-light);
--accent-bg-color: var(--accent-bg-color-light);
--secondary-color: var(--secondary-color-light);
--secondary-bg-color: var(--secondary-bg-color-light);
--watched-overlay-color: var(--watched-overlay-color-light);
}
.dark-theme {
--fg-color: var(--fg-color-dark);
--bg-color: var(--bg-color-dark);
--accent-color: var(--accent-color-dark);
--accent-bg-color: var(--accent-bg-color-dark);
--secondary-color: var(--secondary-color-dark);
--secondary-bg-color: var(--secondary-bg-color-dark);
--watched-overlay-color: var(--watched-overlay-color-dark);
}