html {
width: 100%;
line-height: 1.5;
font-family: ui-sans-serif;
}
body {
width: 100%;
margin: 0;
box-sizing: border-box;
}
a.mono {
font-family: ui-monospace;
}
.h-note {
font-size: 0.6em;
color: gray;
}
@keyframes article-enter {
from {
opacity: 0;
transform: translateY(100px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
:root {
--main-article-horizontal-padding: 1em;
--main-article-horizontal-margin-shrink: -1em;
--im-me: deepskyblue;
--im-happy: dodgerblue;
--im-angry: orangered;
--im-good: hsl(120, 85%, 85%);
--im-active: hsl(20, 85%, 85%);
}
@media (min-width: 576px) {
:root {
--main-article-horizontal-padding: 2em;
--main-article-horizontal-margin-shrink: -2em;
}
}
#main-article {
padding: 0 var(--main-article-horizontal-padding);
animation: article-enter 1s;
}
#title {
font-size: 2em;
}
@keyframes title-name-enter {
from {
background-color: white;
}
to {
background-color: var(--im-me);
}
}
#title-name {
font-family: ui-monospace;
border-radius: 8px;
background-color: white;
animation: title-name-enter 3s 2s forwards;
}
@keyframes avatar-enter {
from {
opacity: 0;
transform: translateX(calc(100% + var(--main-article-horizontal-padding)));
}
to {
opacity: 1;
transform: translateX(0);
}
}
#avatar {
float: right;
transform: translateX(calc(100% + var(--main-article-horizontal-padding)));
animation: avatar-enter 0.5s 1s forwards;
}
.slogan-container {
width: 100%;
position: fixed;
z-index: 1;
top: 0;
}
.slogan {
width: 100%;
padding: 0.5em 1em;
text-align: center;
box-sizing: border-box;
position: absolute;
transform: translateY(-100%);
transition: transform 1s;
}
.slogan.happy {
background-color: var(--im-happy);
}
.slogan.angry {
background-color: var(--im-angry);
}
.slogan-container[data-slogan-emotion="happy"] .slogan.happy {
transform: translateY(0);
}
.slogan-container[data-slogan-emotion="angry"] .slogan.angry {
transform: translateY(0);
}
.slogan-text {
display: inline-block;
text-align: initial;
color: white;
font-size: 1.2em;
}
#todo-container {
list-style: none;
margin-block: 0;
padding-inline: 0;
}
@keyframes todo-enter {
from {
opacity: 0;
transform: translateX(-100%);
}
to {
opacity: 1;
transform: translateX(0);
}
}
#todo-container li {
margin: 0 var(--main-article-horizontal-margin-shrink);
padding: 0.25em 3em;
transform: translateX(-100%);
animation: todo-enter 1s forwards;
}
#todo-container li[data-status="closed"] {
background-color: var(--im-good);
}
#todo-container li[data-status="open"] {
background-color: var(--im-active);
}
.friend-link {
display: inline-block;
}
.friend-img {
display: block;
width: 80px;
height: 80px;
object-fit: cover;
border-radius: 50%;
}
.friend-name {
display: block;
text-align: center;
font-size: 1.2em;
}