bliss.town/public/style/main.css

179 lines
3.4 KiB
CSS

@import url("/font/lora/lora-font.css");
:root {
--foreground: #322e1f;
--background: #f9f1db;
--primary-fg: #92a40a;
--primary-bg: #c4ce7e;
}
@media screen and (prefers-color-scheme: dark) {
:root {
--foreground: #e2dfe3;
--background: #1b141e;
--primary-fg: #cda1ec;
--primary-bg: #513d60;
}
}
header {
width: min(900px, calc(100vw - 4rem));
margin: 0 auto;
text-align: center;
}
header nav {
font-size: .8em;
}
header nav span {
margin: 0 .8em;
color: var(--primary-fg);
}
body {
position: absolute;
top: 0;
left: 0;
width: 100vw;
min-height: 100vh;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-family: "Lora", serif;
font-size: 1.5rem;
color: var(--foreground);
background-color: var(--background);
transition: color .2s linear, background-color .2s linear;
}
main {
width: min(720px, calc(100vw - 4rem));
text-align: center;
}
.title-icon {
width: 64px;
margin: 1em auto -1em auto;
display: flex;
}
.title-icon img {
transition: opacity .2s linear;
}
.title-icon img.icon-dark {
position: relative;
left: -64px;
opacity: 0;
}
@media screen and (prefers-color-scheme: dark) {
.title-icon img.icon-light {
opacity: 0;
}
.title-icon img.icon-dark {
opacity: 1;
}
}
hr {
margin: 2rem 0;
border-width: 1px 0 0 0;
}
hr::after {
content: "✦";
position: absolute;
transform: translate(-50%, -54.5%);
padding: 5px;
color: var(--foreground);
background: var(--background);
transition: color .2s linear, background-color .2s linear;
}
a {
color: var(--primary-fg);
text-decoration: none;
font-weight: bold;
transition: color .2s linear;
}
a:hover {
text-decoration: underline;
}
button {
padding: .5em 1.2em;
font-size: .8em;
font-family: inherit;
font-weight: bold;
color: var(--foreground);
background-color: var(--primary-bg);
border: none;
border-radius: 2em;
cursor: pointer;
transition: color .2s linear, background-color .2s linear, transform .1s ease-out;
}
button:hover {
transform: scale(1.05);
}
button:active {
transform: scale(0.95);
}
footer {
width: min(900px, calc(100vw - 4rem));
margin: 0 auto;
text-align: center;
opacity: .5;
transition: opacity .1s ease-out;
}
footer:hover {
opacity: 1;
}
#footer-links {
font-size: .8em;
}
[class^="col-"] {
transition: color .2s linear;
}
[class^="bg-"] {
transition: background-color .2s linear;
}
.col-fg {
color: var(--foreground);
}
.bg-fg {
background-color: var(--foreground);
}
.col-bg {
color: var(--background);
}
.bg-bg {
background-color: var(--background);
}
.col-primary-fg {
color: var(--primary-fg);
}
.bg-primary-fg {
background-color: var(--primary-fg);
}
.col-primary-bg {
color: var(--primary-bg);
}
.bg-primary-bg {
background-color: var(--primary-bg);
}