stream-tools/music/public/music.css

121 lines
2.1 KiB
CSS
Raw Normal View History

:root {
--sp-1: 1px;
--sp-2: 2px;
--sp-3: 4px;
--sp-4: 8px;
--sp-5: 16px;
--col-fg: #ffffff;
--smooth: cubic-bezier(.1, 1, .5, 1);
}
body {
width: 100%;
height: 100vh;
margin: 0;
font-family: Inter, sans-serif;
font-feature-settings: 'liga' 1, 'calt' 1;
color: var(--col-fg);
background-color: transparent;
text-shadow:
var(--sp-1) var(--sp-1) var(--sp-4) #000,
var(--sp-1) var(--sp-2) #0008;
}
@supports (font-variation-settings: normal) {
body { font-family: InterVariable, sans-serif; }
}
.flex {
display: flex;
}
.flex-col {
flex-direction: column;
}
.flex-row {
flex-direction: row;
}
.justify-center {
justify-content: center;
}
.gap-1 { gap: var(--sp-1); }
.gap-2 { gap: var(--sp-2); }
.gap-3 { gap: var(--sp-3); }
.gap-4 { gap: var(--sp-4); }
.gap-5 { gap: var(--sp-5); }
.text-ellipses {
text-overflow: ellipsis;
overflow-x: clip;
text-wrap: nowrap;
}
p {
margin: 0;
}
#music {
position: fixed;
left: 0;
bottom: 0;
width: min-content;
padding: 2em;
}
.nowplaying {
margin-bottom: var(--sp-3);
text-transform: uppercase;
opacity: .5;
font-weight: bold;
}
.artwork {
width: 80px;
height: 80px;
border-radius: var(--sp-3);
background: #0008;
box-shadow:
0 0 var(--sp-5) #000c,
var(--sp-1) var(--sp-1) var(--sp-2) #0004;
transition: transform .5s var(--smooth), opacity .5s, filter .5s;
}
.title-artist {
max-width: calc(100vw - 2em - 80px);
}
.title {
padding: 0 var(--sp-5);
font-size: 2em;
font-weight: 800;
transition: transform .5s var(--smooth), opacity .1s;
}
.artist {
padding: 0 var(--sp-5);
margin-top: calc(0px - var(--sp-3));
font-size: 1.5em;
font-weight: 600;
transition: transform .5s var(--smooth), opacity .1s;
transition-delay: .05s;
}
#music.paused, #music.switching {
.artwork {
transform: scale(0.8);
opacity: .5;
filter: grayscale(1);
}
.title, .artist {
transform: translateX(-16px);
opacity: 0;
}
}