elektrofoni/style.css

247 lines
4.7 KiB
CSS

@import "./settings.css";
@import "./common.css";
html {
font-family: var(--font-family);
}
body {
background-color: var(--background-gradient-bottom);
background: linear-gradient(
0deg,
var(--background-gradient-bottom) 0%,
var(--background-gradient-middle) 50%,
var(--background-gradient-top) 100%
);
color: var(--text-color);
overflow-y: hidden;
}
main {
margin: var(--side-margin);
overflow-y: hidden;
}
tracks-view,
albums-view,
artists-view,
single-artist-view,
single-album-view {
display: block;
margin-top: calc(var(--library-top-nav-height) + var(--side-margin));
overflow-y: hidden;
height: calc(
100vh - (var(--library-top-nav-height) + var(--side-margin)) -
var(--double-margin)
);
border-radius: var(--border-radius);
}
#authed-view-wrapper {
height: calc(100vh - 2 * var(--side-margin));
overflow-y: hidden;
}
#authed-view-library {
flex: 1 1;
overflow-y: auto;
}
#authed-view-wrapper[data-player-status="closed"] .player-wrapper {
display: none;
}
#small-player-wrapper {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: var(--side-margin);
display: grid;
grid-template: "art track" "art artist" "art album" "controls controls" auto / 2fr 8fr;
gap: var(--side-margin);
font-weight: 100;
border-radius: 10px 10px 0 0;
border-bottom: none;
}
#small-player-track-name,
#small-player-artist-name,
#small-player-album-name {
white-space: nowrap;
text-overflow: ellipsis;
overflow-x: hidden;
}
#small-player-track-name,
#full-player-track-name {
grid-area: track;
font-weight: normal;
}
#small-player-artist-name,
#full-player-artist-name {
grid-area: artist;
}
#small-player-album-name,
#full-player-album-name {
grid-area: album;
}
#small-player-artwork-wrapper,
#full-player-artwork-wrapper {
grid-area: art;
}
#full-player-wrapper {
position: absolute;
bottom: 0;
left: 0;
top: 0;
right: 0;
width: 100%;
height: 100%;
padding: var(--double-margin);
display: grid;
grid-template:
"art art"
"track track"
"artist artist"
"album album"
"meta meta"
". ." 1fr
"controls controls" auto
/ 1fr 1fr;
gap: var(--double-margin);
text-align: center;
font-weight: 100;
font-size: 125%;
}
#full-player-artwork-wrapper img {
margin: 0 auto;
padding-bottom: var(--double-margin);
}
#full-player-metas {
grid-area: meta;
display: grid;
gap: var(--double-margin);
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
#player-controls {
grid-area: controls;
display: grid;
grid-template: "elapsed track total" "buttons buttons buttons" / auto 1fr auto;
gap: var(--side-margin);
}
#player-controls-buttons {
grid-area: buttons;
justify-content: center;
font-size: 1.5rem;
}
#player-controls-buttons button {
padding: calc(var(--side-margin) * 2) calc(var(--side-margin) * 3);
}
#player-time-elapsed {
grid-area: elapsed;
}
#player-time-total {
grid-area: total;
}
#player-track {
grid-area: track;
}
#player-track::-webkit-slider-thumb {
appearance: none;
border: var(--glass-border);
height: var(--track-thumb-size);
width: var(--track-thumb-size);
border-radius: 50%;
background: var(--glass-background);
cursor: pointer;
box-shadow: var(--glass-shadow);
transform: translateY(
calc(
-50% - 0.5px + var(--track-thumb-size) / (var(--track-scale-factor) * 2)
)
);
}
#player-track::-moz-range-thumb {
appearance: none;
border: var(--glass-border);
height: var(--track-thumb-size);
width: var(--track-thumb-size);
border-radius: 50%;
background: var(--glass-background);
cursor: pointer;
box-shadow: var(--glass-shadow);
}
#player-track::-webkit-slider-runnable-track {
width: calc(100% - var(--track-thumb-size));
height: calc(var(--track-thumb-size) / var(--track-scale-factor));
cursor: pointer;
box-shadow: var(--glass-shadow);
background: var(--glass-background);
border-radius: 1.3px;
border: 0.2px solid var(--glass-border-color);
}
#player-track::-moz-range-track {
width: calc(100% - var(--track-thumb-size));
height: calc(var(--track-thumb-size) / var(--track-scale-factor));
cursor: pointer;
box-shadow: var(--glass-shadow);
background: var(--glass-background);
border-radius: 1.3px;
border: 0.2px solid var(--glass-border-color);
}
#library-top-nav {
position: fixed;
top: var(--side-margin);
left: var(--side-margin);
right: var(--side-margin);
height: var(--library-top-nav-height);
}
#library-top-nav .button-group {
width: 100%;
height: 100%;
}
#library-top-nav .glass-button {
padding: 0;
font-size: 2rem;
line-height: var(--library-top-nav-height);
}
#library-loading-indicator {
position: absolute;
top: 50%;
left: 0;
width: 100vw;
text-align: center;
font-size: 1.5rem;
}