* {
box-sizing: border-box;
}
html,
body {
background-color: #006dfe;
font-family: sans-serif;
font-size: 24px;
line-height: 1.6;
}
header {
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: flex-start;
width: 100%;
height: 100vh;
padding: 24px;
margin: 0;
}
.meta {
position: relative;
}
.index {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
justify-content: center;
align-content: center;
flex-wrap: wrap;
gap: 12px;
list-style: none;
}
ul {
padding: 0;
margin: 0;
}
.index li,
.meta button {
position: relative;
padding: 6px 12px;
background-color: white;
border-radius: 42px;
margin: 0;
font-size: 42px;
}
.index li {
display: inline-block;
width: 48px;
height: 48px;
border-radius: 50%;
}
.index img {
padding: 8px;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
object-fit: contain;
}
.index a {
width: 100%;
height: 100%;
}
a {
color: currentColor;
text-decoration: none;
}
.index a:after {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
li:hover {
transform: scale(1.05);
}
#background,
#foreground {
position: absolute;
width: 100%;
height: 100vh;
top: 0;
left: 0;
object-fit: contain;
}
#foreground {
pointer-events: none;
}
.meta button {
background-color: white;
border: none;
font-size: 1rem;
font-family: sans-serif;
margin-top: 16px;
}
.meta .title {
margin: 0;
background-color: white;
}
.meta .description {
max-width: 60ch;
margin: 0;
}
.meta.release {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
gap: 8px;
}
.meta .title,
.meta.release .title,
.meta.release .date {
font-size: 1rem;
background-color: white;
padding: 6px 12px;
border-radius: 6px;
}
.hidden {
visibility: hidden;
}
main,
footer {
font-size: 24px;
padding: 24px;
}
main p {
grid-column-start: 1;
}
main img {
grid-column-start: 2;
}
main * {
max-width: 60ch;
}
main img {
display: inline-block;
}
dl {
display: grid;
grid-template-columns: 1fr 4fr;
gap: 32px;
}
footer h2 {
margin: 64px 0;
}
dt {
background-color: white;
justify-self: start;
align-self: flex-start;
padding: 6px 12px;
border-radius: 24px;
}
dd {
margin: 0;
max-width: 60ch;
}
.note {
background-color: white;
padding: 2px 4px;
}
@media (max-width: 767.98px) {
.index li {
width: 32px;
height: 32px;
}
#background {
object-fit: contain;
object-position: middle;
}
main img {
max-width: 100%;
}
dl {
display: flex;
flex-direction: column;
}
dd + dt {
margin-top: 48px;
}
}