html {
background-color: #C0DF74;
color: #3e4649;
}

html {
font-family: costa, georgia, sans-serif;
box-sizing: border-box;
}

* {
box-sizing: inherit;
}

.sr-only {
/* from: https://gist.github.com/ffoodd/000b59f431e3e64e4ce1a24d5bb36034 */
border: 0 !important;
clip: rect(1px, 1px, 1px, 1px) !important;
/* 1 */
-webkit-clip-path: inset(50%) !important;
clip-path: inset(50%) !important;
/* 2 */
height: 1px !important;
margin: -1px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
white-space: nowrap !important;
/* 3 */
}

h1 {
font-size: 3.5rem;
}
h1 span {
font-weight: 400;
display: block;}

p {
font-size: 1.5rem;
margin: 0 0 1em;
}

@media (max-width: 20rem) {
body h1 {
    font-size: 2rem;
}

body p,
body figcaption {
    font-size: 1rem;
}
body .help {
	font-size: 0.8rem;
}

body .decoration img {
    height: 70%;
}
}

body {
margin: 0 auto;
width: 80%;
max-width: 70rem;
}

a {
color: inherit;
text-decoration: underline;
}

a:focus,
a:hover {
text-decoration: none;
background: rgba(255, 255, 255, 0.3);
}

article {
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 90vh;
}
article.v-top {
justify-content: flex-start;}

main>*:not(.decoration),
body>*:not(main) {
position: relative;
z-index: 10;
}

.decoration img {
width: auto;
height: 100%;
position: fixed;
bottom: 5%;
right: 5%;
filter: grayscale(0.8);
opacity: 0.15;
display: block;
border-radius: 50% / 20%;
transform: rotate(20deg) scale(2);
z-index: 1;
}

.card {
margin: 0 0 2rem;
background: rgba(255, 255, 255, 0.4);
padding: 1rem;
}

.card--small p {
font-size: 1rem;
}

.card> :first-child {
margin-top: 0;
}

.card> :last-child {
margin-bottom: 0;
}

figcaption {
margin-top: 1.5rem;
font-style: italic;
font-size: 1.5rem;
opacity: 0.5;
}

.lifeBar,
.dayBar {
background: rgba(0, 0, 0, 0.15);
width: 100%;
height: 2rem;
border-radius: 0.25rem;
line-height: 2rem;
text-align: center;
}

.dayBar {
background: white;
border: 2px solid #a2666f;
width: 100%;
transition: width 2.5s;
position: relative;
}

.dayBar .day-percentage {
position: absolute;
top: 100%;
left: 50%;
transform: translate(-50%, 0);
}

.lifeBar {
display: flex;
justify-content: flex-end;
}

data {
display: inline-block;
font-style: italic;
}

footer {
font-size: 1.2rem;
color: rgba(62, 70, 73, 0.6);
}

footer * {
font-size: inherit;
color: inherit;
}

.emoji {
color: black;
font-style: normal;
}


form.is-disabled {
    opacity: 0;
    pointer-events: none;
}
form {
    opacity: 1;
    transition: opacity 2s;
}
form label {
display: block;
}
form input[type="text"],
form button {
    font-size: 1.5rem;
    padding: 0.2rem 0.5rem;
    border-radius: 4px 0 0 4px;
    border: 0;
    outline: 0;
}
form input[name=key] {
    width: 12rem;
    letter-spacing: 0.04em;
}

form p:first-of-type {
	position: absolute;
	right: 100000px;
	right: 110vw;
	opacity: 0.1;
}

form p:nth-child(2) {
	padding: 0.5rem;
	background: rgba(0,0,0,0.1);
	border-radius: 4px;

	text-align: center;
	font-size: 0;
	white-space: nowrap;
}
form p:nth-child(2) > * {
	font-size: 1rem;
}
form p:nth-child(2) label {
	font-size: 0;
	opacity: 0;
	position: absolute;
	right: 100vw;
}
form p:nth-child(2) input {
	font-family: inherit;
}
form p:nth-child(2) input,
form p:nth-child(2) button {
	display: inline-block;
	height: 2.5rem;
	vertical-align: bottom;
	border: 1px solid rgba(0,0,0,0);
}

form p:nth-child(2) button {
	background: #3e4649;
	color: white;
	border-radius: 0 4px 4px 0;
	cursor: pointer;
	border-left: 0;
	position: relative;
	left: -2px;
}


form p:nth-child(2) input:hover,
form p:nth-child(2) button:hover,
form p:nth-child(2) input:focus,
form p:nth-child(2) button:focus {
	border-color: rgba(0,0,0,1);
}
form p:nth-child(2) input:hover,
form p:nth-child(2) input:focus {
	background-color: #eee;
}
form p:nth-child(2) button:hover,
form p:nth-child(2) button:focus {
	background-color: #666;
}

.help {
	font-size: 1rem;
	margin-bottom: 0;
	opacity: 0.6;
}

