html {
overflow-y: scroll;
}
/* 🌸 PASTEL PALETTE */
:root {
--bgcolor: #fff7fb;
--fontcolor: #3a2c3d;
--linkcolor: #ff77c8;
--visitedcolor: #d76dff;
--precolor: #4a3e4f;
--prebgcolor: #ffe6f4;
--alertbgcolor: #ffe0f1;
--hrcolor: #ffbde6;
--blockquotecolor: #ffe8f6;
--pcodecolor: #f7d2f0;
--sitetitlecolor: #ff99dd;
--titlecolor: #c77fff;
}
/* 🌙 DARK MODE PASTEL NIGHT */
@media (prefers-color-scheme: dark) {
:root {
--bgcolor: #241b2b;
--fontcolor: #f8e8ff;
--linkcolor: #ff9be9;
--visitedcolor: #e49cff;
--precolor: #ffeefe;
--prebgcolor: #35263f;
--alertbgcolor: #3f304a;
--hrcolor: #f4cfff;
--blockquotecolor: #3a2b45;
--pcodecolor: #614c70;
--sitetitlecolor: #ffd1f6;
--titlecolor: #d9a7ff;
}
}
/* 🌸 TYPO + BASE */
body {
max-width: 800px;
margin: 40px auto;
padding: 0 10px;
font: 15px/1.6 "IBM Plex Mono", "Fira Mono", monospace;
color: var(--fontcolor);
background: var(--bgcolor);
transition: background 0.3s ease, color 0.3s ease;
}
/* 🌸 LINKS */
a {
color: var(--linkcolor);
text-decoration: none;
transition: color 0.2s ease, text-shadow 0.2s ease;
}
a:hover {
color: var(--visitedcolor);
text-shadow: 0 0 6px currentColor;
}
a:visited {
color: var(--visitedcolor);
}
/* 🌸 HEADERS */
h1, h2, h3 {
line-height: 1.25;
color: var(--titlecolor);
margin-top: 1.6rem;
font-weight: 700;
}
h1.site-title {
color: var(--sitetitlecolor);
text-align: center;
font-size: 2rem;
margin-bottom: 1rem;
}
/* 🌸 PARAGRAPHS */
p {
margin-top: 1.3rem;
}
/* 🌸 INLINE CODE */
p > code,
li > code {
color: var(--precolor);
background: var(--pcodecolor);
padding: 3px 5px;
border-radius: 6px;
}
/* 🌸 FULL CODE */
code {
color: var(--precolor);
background: var(--prebgcolor);
padding: 3px 5px;
border-radius: 6px;
}
pre {
color: var(--precolor);
background: var(--prebgcolor);
padding: 24px;
overflow-x: auto;
border-radius: 12px;
box-shadow: 0 0 10px rgba(255, 180, 220, 0.25);
}
/* 🌸 ARTICLES */
article {
padding: 24px 0;
}
/* 🌸 IMAGES */
img {
display: block;
max-width: 100%;
height: auto;
margin: auto;
border-radius: 12px;
}
/* cute avatar */
.avatar {
width: 100px;
height: 100px;
border-radius: 50%;
box-shadow: 0 0 8px rgba(255, 140, 200, 0.4);
border: 4px solid var(--bgcolor);
transition: transform 0.3s ease;
}
/* Banner with overlay avatar */
.banner {
position: relative;
margin-bottom: 1rem;
}
.banner img:first-child {
width: 100%;
max-width: 600px;
height: auto;
border-radius: 8px;
opacity: 0.85;
}
.banner .avatar {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 2;
width: 120px;
height: 120px;
box-shadow: 0 0 20px rgba(255, 140, 200, 0.6);
}
.banner .avatar:hover {
transform: translate(-50%, -50%) scale(1.05);
}
/* 🌸 ALERTS */
.alert {
color: var(--fontcolor);
background: var(--alertbgcolor);
padding: 20px;
border-radius: 12px;
box-shadow: 0 0 12px rgba(255, 180, 220, 0.3);
overflow-x: auto;
}
/* 🌸 NEXT/PREV */
.article-nextprev {
display: flex;
flex-flow: row wrap-reverse;
justify-content: space-between;
}
/* 🌸 DIVIDERS */
hr {
margin: 35px 33% 15px;
border-color: var(--hrcolor);
border-width: 3px;
border-radius: 3px;
}
hr.small {
margin: 35px 44% 25px;
border: 1px dashed var(--hrcolor);
}
/* 🌸 BLOCKQUOTE */
blockquote {
background: var(--blockquotecolor);
margin: 1.2rem 0;
padding: 12px 20px;
border-radius: 12px;
box-shadow: 0 0 8px rgba(255, 200, 240, 0.25);
border-left: 4px solid var(--hrcolor);
}
/* 🌸 LISTS */
ol, ul {
padding-left: 1.1rem;
}
ul > li {
list-style-type: disclosure-closed;
}
/* 🌸 TABLES */
table {
text-align: left;
border: 1px solid var(--hrcolor);
border-radius: 10px;
overflow: hidden;
}
thead th, tfoot th, tfoot td {
padding: 6px 10px;
background-color: var(--alertbgcolor);
color: var(--titlecolor);
}
td {
padding: 8px 10px;
}
tbody tr:nth-child(even) {
background-color: var(--alertbgcolor);
}
/* 🌸 RESPONSIVE MOE */
@media all and (max-width: 800px) {
.bio-card .bio {
justify-content: space-around;
flex-direction: column;
}
.bio-card .bio > img {
align-self: center;
margin: auto;
}
.bio-card .bio > p {
align-self: center;
text-align: center;
}
/* Smaller avatar on mobile */
.banner .avatar {
width: 90px;
height: 90px;
}
.banner img:first-child {
border-radius: 6px;
}
}
/* PRINT */
@media print {
a, a:visited {
color: #000;
text-decoration: none;
}
a::after {
content: " (" attr(href) ") ";
}
nav, footer, hr, .noprint {
display: none !important;
}
pre, blockquote, code {
background: #fff;
border: none;
box-shadow: none;
}
}