:root {
--background: #eef4f7;
--text: #446688;
--accent: #56c3ed;
--accent-shadow: #4bc9ff88;
--accent-pink: #ff4485;
--accent-pink-shadow: #ff45c188;
--display: "Ferrite Core DX", sans-serif;
}
body {
background-image: url("/music/y2k_bg.png");
background-repeat: repeat;
background-size: 1em;
box-sizing: border-box;
}
h2,
h3 {
color: var(--accent);
font-size: min(10vw, 2em);
text-shadow: 0px 1px 6px var(--accent-shadow);
font-family: var(--display);
margin-block-end: 0.5rem;
margin-block-start: 0.5rem;
}
#body-container {
max-inline-size: none;
display: grid;
grid-template-columns: 585px 1fr;
grid-template-rows: auto 1fr;
gap: 1ch 1ch;
grid-template-areas:
"grid-music-video grid-shelves"
"favourite-tracks grid-shelves";
box-sizing: border-box;
block-size: 100vh;
}
@media only screen and (max-width: calc(3 * 585px)) {
#body-container {
grid-template-columns: 1fr 2fr;
}
}
@media only screen and (max-width: 1080px) {
#body-container {
grid-template-columns: 360px 1fr;
}
}
@media only screen and (max-width: 700px) {
#body-container {
grid-template-columns: 1fr;
grid-template-rows: auto 1fr 1fr;
grid-template-areas: "grid-music-video" "favourite-tracks" "grid-shelves";
}
}
.grid-music-video {
grid-area: grid-music-video;
position: relative;
aspect-ratio: 585 / 440;
max-inline-size: 585px;
}
.favourite-tracks {
grid-area: favourite-tracks;
box-sizing: border-box;
border: 1px solid var(--accent);
padding: 1em;
box-shadow: 0px 1px 6px var(--accent-shadow), 0px 0px 10px #fff8;
overflow-y: auto;
background:
var(--background);
background-size:
100%;
background-repeat:
repeat;
text-shadow: 0 0 5px var(--background), 0 0 2px var(--background),
0 0 10px var(--background);
font-size: 0.9em;
font-family: "Noto Sans VF", "Noto Sans", var(--system);
font-stretch: extra-condensed;
font-variant-numeric: initial;
}
.favourite-tracks form * {
font-stretch: extra-condensed !important;
}
.favourite-tracks h2 {
text-align: center;
font-style: italic;
text-transform: lowercase;
}
.grid-shelves {
grid-area: grid-shelves;
margin: 0;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
gap: 0.25em;
flex-wrap: wrap;
align-self: center;
max-block-size: 100%;
overflow-y: auto;
}
.click-songs {
margin: 0;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
gap: 0.25em;
flex-wrap: wrap;
align-self: center;
}
:is(.grid-shelves, .click-songs) :is(button, a.select-band) {
margin: 0;
padding: 0.25em;
padding-inline-end: 1em;
min-inline-size: 180px;
color: var(--text);
font-size: 16px;
font-family: Silkscreen;
text-align: start;
text-decoration: none;
border: 2px solid var(--accent);
background: var(--background);
outline: 2px solid var(--background);
box-shadow: 0 1px 5px var(--accent-shadow),
inset 0 0 2px var(--accent-shadow);
transition: 0.125s;
flex-basis: 33%;
min-inline-size: fit-content;
flex-grow: 1;
}
.click-songs :is(button, a.select-band) {
min-inline-size: fit-content;
flex-basis: 33%;
font-family: "Noto Sans VF", "Noto Sans", var(--system);
font-stretch: extra-condensed;
font-size: 14px;
}
:is(.grid-shelves, .click-songs) :is(button, a.select-band):hover,
:is(.grid-shelves, .click-songs) :is(button, a.select-band):focus,
:is(.grid-shelves, .click-songs) :is(button, a.select-band).enabled {
--accent: #ff4485;
--accent-shadow: #ff45c188;
}
img {
margin: 0;
}
figure {
display: flex;
align-items: center;
block-size: fit-content;
}
:is(.grid-shelves, .click-songs) small {
font-size: 1em;
}
.click-songs small:first-child {
font-style: italic;
}
:is(.grid-shelves, .click-songs) figcaption strong {
font-weight: normal;
display: block;
font-size: 1.5em;
text-shadow: 0px 1px 6px var(--accent-shadow);
line-height: 1em;
margin-block-end: 0.2em;
}
.grid-shelves figcaption strong {
font-family: var(--display);
text-transform: lowercase;
font-style: italic;
line-height: 0.7em;
font-size: 1.67em;
}
.click-songs figcaption strong.nomargin {
margin-block-end: 0;
}
:is(.grid-shelves, .click-songs) figure img {
margin-inline-end: 1em;
max-block-size: 4em;
box-shadow: 0px 1px 6px var(--accent-shadow), 0px 0px 10px #fff8;
border: 1px solid var(--accent);
}
:is(.grid-shelves, .click-songs) figure .emoji-label {
margin-inline-end: 16px;
block-size: 64px;
max-block-size: 64px;
color: var(--accent);
text-shadow: 0px 1px 6px var(--accent-shadow), 0px 0px 10px #fff8;
aspect-ratio: 1 / 1;
font-size: 40px;
display: flex;
align-items: center;
justify-content: center;
}
#yt-link {
position: absolute;
transform: scale(0.5);
block-size: calc(69.773% * 2);
inline-size: calc(70.256% * 2);
inset-block-start: calc(11.363% - calc(69.773% / 2));
inset-inline-start: calc(15.385% - calc(70.256% / 2));
}
#tv-overlay,
#glow-overlay {
position: absolute;
inline-size: 100%;
block-size: 100%;
z-index: 1;
pointer-events: none;
}
#glow-overlay {
z-index: 2;
}
b {
color: inherit;
}
.favourite-tracks > div:not(.shown) {
display: none;
}
@font-face {
font-family: "Silkscreen";
font-style: normal;
font-weight: 400;
src: local("Silkscreen"), url("/fonts/slkscr-webfont.woff") format("woff");
}
@font-face {
font-family: "Ferrite Core DX";
font-style: normal;
font-weight: 400;
src: local("Ferrite Core DX Regular"),
url("/fonts/Ferrite Core DX Regular.woff2") format("woff2"),
url("/fonts/Ferrite Core DX Regular.woff") format("woff");
}
@font-face {
font-family: "Ferrite Core DX Black";
font-style: normal;
font-weight: 700;
src: local("Ferrite Core DX Black"),
url("/fonts/Ferrite Core DX Black.woff2") format("woff2"),
url("/fonts/Ferrite Core DX Black.woff") format("woff");
}
@font-face {
font-family: "Noto Sans VF";
src: url("/fonts/NotoSans-VF.woff2") format("woff2-variations");
font-style: normal;
font-weight: 200 900;
font-stretch: 66% 100%;
}