@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; }