seperated system theme into its own css file, combined different page css to a main theme css

This commit is contained in:
sundae 2026-04-07 20:14:23 +03:00
commit 1945abd6ad
Signed by: sundae
SSH key fingerprint: SHA256:MsJkKuo4PUdjQDpLeaURy81drKkW14exlTHp+8QFu6M
23 changed files with 938 additions and 958 deletions

View file

@ -1,163 +0,0 @@
article {
max-width: var(--post);
& ul {
margin: 0;
}
& > .postscript::after {
background-color: var(--primary);
}
& section:not(section:has(p)) {
display: flex;
gap: var(--pad-l);
}
& aside {
float: right;
border-radius: var(--round);
width: 66%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-bottom: var(--pad-m);
}
& .post-warning {
display: flex;
flex-direction: column;
font-size: 1.4rem;
font-weight: bold;
text-align: center;
&::before,
&::after {
content: "";
display: inherit;
border-width: 2px;
border-style: dashed;
}
}
}
.addendum,
.post-warning,
article aside {
margin: var(--pad-l) 0;
padding: var(--pad-l);
}
article > .addendum {
border-image-slice: 1;
border-image-width: 2px;
border-image-outset: 4px;
}
article > .postscript {
margin: 0 0 auto auto;
padding: var(--pad-xl) 0 var(--pad-xxl) 0;
&::after {
content: "";
position: absolute;
width: 64px;
height: 64px;
mask-image: var(--paw);
mask-size: 100%;
mask-repeat: no-repeat;
transform: rotate(15deg);
}
& p {
display: flex;
flex-direction: column;
transition: background-color var(--trans);
margin-top: inherit;
margin-left: inherit;
margin-right: var(--avatar);
margin-bottom: var(--pad-l);
border-radius: var(--round);
border-bottom-right-radius: 0;
width: fit-content;
padding: var(--pad-m);
background-color: #0060df;
color: #fff;
font-size: 0.8rem;
word-wrap: anywhere;
&:hover {
background-color: #3a76f0;
}
& a:has(img:nth-child(n + 2)) {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 40%), 1fr));
align-items: center;
gap: var(--pad-m);
}
& > img {
transition:
height var(--trans),
border-radius var(--trans),
background-color var(--trans);
border-radius: var(--round);
min-height: fit-content;
max-height: var(--image);
}
}
& span:has([alt]) {
width: var(--avatar);
height: var(--avatar);
display: flex;
float: right;
& [alt="Profile picture"] {
display: flex;
box-sizing: content-box;
margin: 0 0 0 auto;
border-radius: 100%;
width: inherit;
height: inherit;
}
}
}
#posts {
& ul {
display: flex;
flex-direction: column;
gap: var(--pad-l);
margin: 0;
padding: 0;
}
& a {
display: flex;
flex-direction: column;
border-style: solid;
border-width: 2px;
border-radius: var(--round);
padding: var(--pad-m);
font-size: 1.125rem;
font-weight: bold;
text-decoration: none;
word-break: break-word;
& time,
p {
display: flex;
font-size: 1rem;
font-weight: normal;
}
}
}
@media screen and (max-width: 916px) {
article aside {
float: unset;
width: fit-content;
}
article section {
flex-direction: column;
}
article > .postscript {
& p {
margin-right: var(--pad-sm);
& > a img {
height: auto;
max-height: var(--view);
}
}
}
}

View file

@ -1,8 +0,0 @@
li {
&::before {
content: none;
}
&::marker {
content: initial;
}
}

View file

@ -1,264 +0,0 @@
@import url("./motion.css");
@import url("./variables.css");
@import url("./nav.css");
/* i hate default styles >:( and also chrome */
h1,
h2,
h3,
h4,
h5,
h6 {
display: block;
font-size: 2rem;
font-weight: bold;
width: fit-content;
}
body {
font-family: "Rubik", sans-serif;
font-size: 100%;
margin: 0;
padding: 0;
& a,
button {
cursor: pointer;
&:is(:hover, :focus) {
outline: 0;
}
}
}
svg {
fill: currentColor;
stroke: currentColor;
stroke-width: 0;
}
header {
margin-top: var(--pad-xl);
margin-left: calc(var(--view) + var(--pad-xl));
& a {
display: flex;
padding: var(--pad-s);
border-radius: var(--round);
}
& svg {
width: 2rem;
height: 2rem;
margin-right: var(--pad-m);
}
}
footer {
overflow-y: hidden;
word-break: break-all;
flex-wrap: wrap;
font-family: "Nosey Rodent", sans-serif;
display: flex;
margin: auto 0 0 auto;
width: fit-content;
justify-content: center;
position: sticky;
inset-block: 100%;
text-align: center;
& span {
background-image: var(--transgender);
padding: 0 var(--pad-s);
}
}
main {
width: fit-content;
padding: var(--pad-xl);
padding-left: calc(var(--view) + var(--pad-xl));
overflow: hidden;
position: relative;
& ul[role="list"] {
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 0;
}
}
details {
cursor: pointer;
display: flex;
flex-direction: column;
& summary::marker {
content: none;
}
}
article {
width: auto;
max-width: var(--main);
color: inherit;
border-style: solid;
border-width: 2px;
border-radius: var(--round);
height: max-content;
padding: var(--pad-xl);
& a:has(figure) {
border-radius: var(--round);
& figure {
border-color: inherit;
}
}
& s {
text-decoration-style: line-through;
text-decoration-thickness: 0.1em;
}
& u {
text-decoration-style: double;
text-decoration-thickness: 2px;
}
& em {
font-weight: 200;
}
& p {
word-wrap: break-word;
}
& p:not(:last-child, [aria-label]) {
padding-bottom: var(--pad-s);
}
& pre {
display: flex;
width: auto;
padding: var(--pad-m);
white-space: pre-wrap;
word-break: break-word;
border-style: solid;
border-width: 2px;
}
& figure {
margin: 0;
border-style: solid;
border-width: 2px;
padding: var(--pad-m);
border-radius: inherit;
display: flex;
flex-direction: column;
}
& section {
& a:has(figure) {
height: max-content;
}
& figure img {
border-radius: inherit;
}
& figcaption {
font-weight: normal;
font-style: italic;
padding: var(--pad-m) 0;
}
}
}
.paws li::marker {
content: none;
}
.paws li::before {
content: "";
width: 20px;
height: 20px;
position: absolute;
mask-image: var(--paw);
mask-size: contain;
mask-repeat: no-repeat;
margin: 0 0 0 calc(var(--pad-xl) * -1);
}
:is(main article, main section):not(:last-child) {
margin-bottom: var(--pad-m);
}
img[src*="/assets/img/flag/"] {
height: 32px;
border-radius: 2px;
&:first-child {
margin-left: var(--pad-m);
}
&:not(:last-child) {
margin-right: var(--pad-m);
}
}
dialog button[commandfor="signal"] {
width: max-content;
padding: 0 var(--pad-s);
margin: 0 auto;
}
#signal {
cursor: default;
background: black;
border: none;
margin: 0 auto;
text-align: center;
max-width: 100%;
max-height: 100%;
width: 100%;
height: 100%;
position: fixed;
padding: var(--pad-xl);
& article {
display: flex;
flex-direction: column;
justify-content: center;
border: 0;
padding: 0;
margin: 0 auto;
max-width: fit-content;
background: none;
word-wrap: break-word;
color: white;
& h1 {
font-size: 4rem;
}
& p {
font-size: 2rem;
}
& a {
margin: auto 0 0 auto;
}
& h1,
p,
a {
font-family: "Times New Roman", Times, serif;
}
& img {
border: 4px solid white;
padding: var(--pad-s);
max-width: 100%;
max-height: 250px;
}
}
}
@media screen and (min-width: 916px) {
#sidebar {
display: flex;
}
#floating {
display: none;
}
#default button[popovertarget] {
display: none;
}
}
@media screen and (max-width: 916px) {
/* Reset */
header,
footer,
main {
margin: 0;
padding: 0;
width: auto;
}
article {
margin: var(--pad-m);
padding: var(--pad-l);
}
header {
margin: calc(var(--pad-xxl) + var(--pad-l)) 0 0 0;
}
header h1 {
margin: auto 0 0 auto;
padding-right: var(--pad-m);
}
#default::before {
content: none;
}
body::after {
content: "";
}
}

View file

@ -0,0 +1,561 @@
@import url("./variables.css");
@import url("./nav.css");
@import url("./motion.css");
body {
font-size: 100%;
margin: 0;
padding: 0;
& a,
button {
cursor: pointer;
}
}
main {
overflow: hidden;
padding: var(--pad-xl) var(--pad-xl) 0 calc(var(--view) + var(--pad-xl));
position: relative;
width: fit-content;
margin-bottom: var(--pad-xl);
& ul[role="list"] {
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 0;
}
& article {
color: inherit;
height: max-content;
max-width: var(--main);
padding: var(--pad-xl);
width: auto;
&:not(:last-child) {
margin-bottom: var(--pad-l);
}
& s {
text-decoration-style: line-through;
text-decoration-thickness: 0.1em;
}
& u {
text-decoration-style: double;
text-decoration-thickness: 2px;
}
& em {
font-weight: 200;
}
& p {
word-wrap: break-word;
&:not(li p):not(:last-child) {
padding-bottom: var(--pad-m);
}
}
& pre {
display: flex;
width: auto;
padding: var(--pad-m);
white-space: pre-wrap;
word-break: break-word;
}
& a {
padding: 2px;
& > img {
display: inline-flex;
height: auto;
vertical-align: middle;
padding-right: 2px;
}
&:has(figure) {
height: fit-content;
}
}
& figure {
margin: 0;
padding: var(--pad-m);
border-radius: inherit;
display: flex;
flex-direction: column;
}
}
}
header {
& a {
display: flex;
}
& svg {
width: 32px;
height: 32px;
margin-right: var(--pad-m);
}
}
footer {
color: var(--dark);
display: inline-flex;
inset-block: 100%;
margin: 0 auto;
position: sticky;
width: 100%;
z-index: -1;
& span {
width: inherit;
background-image: var(--transgender);
padding: 0 var(--pad-s);
}
}
h1,
h2,
h3,
h4,
h5,
h6 {
display: block;
font-size: 2rem;
font-weight: bold;
margin: 0;
width: fit-content;
}
details {
cursor: pointer;
display: flex;
flex-direction: column;
& summary::marker {
content: none;
}
}
svg {
fill: currentColor;
stroke: currentColor;
stroke-width: 0;
}
p {
margin: 0;
}
.paws {
margin: 0;
padding: 0 var(--pad-xl);
& li::marker {
content: none;
}
& li::before {
content: "";
width: 20px;
height: 20px;
position: absolute;
mask-image: var(--paw);
mask-size: contain;
mask-repeat: no-repeat;
margin: 0 0 0 calc(var(--pad-xl) * -1);
}
}
img[src*="/assets/img/flag/"] {
height: 32px;
border-radius: 2px;
&:first-child {
margin-left: var(--pad-m);
}
&:not(:last-child) {
margin-right: var(--pad-m);
}
}
/* home.html */
#bio .emoji {
display: inline-flex;
height: 20px;
vertical-align: middle;
width: 20px;
&::after,
img {
filter: drop-shadow(0 0 0.5px #000a);
}
}
#badges ul {
gap: var(--pad-s);
padding: 0;
}
#interests {
& a {
align-items: center;
display: inline-flex;
flex-direction: column;
height: auto;
text-align: center;
width: 120px;
&:not(:hover, :focus) {
background: transparent;
}
& span:has(img)::after {
background-image: url("/assets/img/icon/shortcut.png");
background-size: 100%;
content: "";
display: block;
height: 24px;
margin: -1.5rem 0 0 -0.5rem;
pointer-events: none;
position: absolute;
width: 24px;
z-index: 1;
}
}
}
.games img {
height: 48px;
}
.manga img {
height: 128px;
}
#pkmn {
background-image: url("/assets/img/pkmn/bg/box.png");
border-bottom-color: #78a068;
border-left-color: #c8f8c0;
border-radius: 4px;
border-right-color: #78a068;
border-style: solid;
border-top-color: #c8f8c0;
border-width: 3px;
margin: var(--pad-l) 0 0 0;
width: fit-content;
& li {
display: flex;
margin-left: -12px;
margin-top: -8px;
& span:hover {
filter: drop-shadow(0 -2px 0 #fff) drop-shadow(0 2px 0 #fff)
drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff)
drop-shadow(0 2px 3px #000a);
animation: jump 200ms infinite alternate;
}
}
}
#agender {
background-image: var(--agender);
}
#aromantic {
background-image: var(--aromantic);
}
#pansexual {
background-image: var(--pansexual);
}
#badges img {
max-height: 31px;
width: 88px;
}
/* changelog.html */
#changelog li {
&::before {
content: none;
}
&::marker {
content: initial;
}
}
/* gallery.html */
#art {
& h1,
p {
margin: 0;
}
& p {
max-width: var(--post);
}
& section:has(a:nth-child(n + 2)) {
display: flex;
flex-direction: row;
gap: var(--pad-l);
}
& section:has(a:nth-child(n + 3)) {
flex-direction: column;
}
& section {
&:not(:last-child) {
margin-bottom: var(--pad-l);
}
& a {
display: flex;
width: calc(var(--post) - var(--view));
flex-direction: column;
height: fit-content;
}
& time {
margin: var(--pad-m) 0 0;
}
}
}
#artworks {
& ul {
display: grid;
grid-template-columns: repeat(
auto-fill,
minmax(min(var(--thumb), 100%), 1fr)
);
gap: var(--pad-l);
& a {
display: block;
}
}
& figure {
margin: 0;
& img {
width: 100%;
height: var(--thumb);
object-fit: cover;
}
& figcaption {
display: inline-flex;
font-size: 1.4rem;
}
& .count {
margin: auto 0 0 auto;
}
}
}
/* blog.html */
#blog {
& main article {
max-width: var(--post);
& .postscript {
margin: 0 0 auto auto;
padding: var(--pad-xl) 0 var(--pad-xxl) 0;
&::after {
content: "";
position: absolute;
width: 64px;
height: 64px;
mask-image: var(--paw);
mask-size: 100%;
mask-repeat: no-repeat;
transform: rotate(15deg);
}
& p {
display: flex;
flex-direction: column;
transition: background-color var(--trans);
margin-top: inherit;
margin-left: inherit;
margin-right: var(--avatar);
margin-bottom: var(--pad-l);
border-radius: var(--round);
border-bottom-right-radius: 0;
width: fit-content;
padding: var(--pad-m);
background-color: #0060df;
color: #fff;
font-size: 0.8rem;
word-wrap: anywhere;
&:hover {
background-color: #3a76f0;
}
& a:has(img:nth-child(n + 2)) {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 40%), 1fr));
align-items: center;
gap: var(--pad-m);
}
& > img {
transition:
height var(--trans),
border-radius var(--trans),
background-color var(--trans);
border-radius: var(--round);
min-height: fit-content;
max-height: var(--image);
}
}
& span:has([alt="Profile picture"]) {
width: var(--avatar);
height: var(--avatar);
display: flex;
float: right;
& [alt="Profile picture"] {
display: flex;
box-sizing: content-box;
margin: 0 0 0 auto;
width: inherit;
height: inherit;
}
}
}
& .postscript::after {
background-color: var(--primary);
}
& section:has(figure) {
display: flex;
gap: var(--pad-l);
}
& aside {
float: right;
border-radius: var(--round);
width: 66%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin-bottom: var(--pad-m);
}
& .post-warning {
font-size: 1.4rem;
font-weight: bold;
text-align: center;
&::before,
&::after {
content: "";
display: inherit;
border-width: 2px;
border-style: dashed;
}
}
}
& #posts {
& ul {
display: flex;
flex-direction: column;
gap: var(--pad-l);
margin: 0;
padding: 0;
}
& a {
display: flex;
flex-direction: column;
font-size: 1.125rem;
font-weight: bold;
padding: var(--pad-m);
text-decoration: none;
word-break: break-word;
& time,
p {
display: flex;
font-size: 1rem;
font-weight: normal;
}
}
}
}
.addendum,
.post-warning,
#blog main article aside {
margin: var(--pad-l) 0;
padding: var(--pad-l);
}
/* easter egg :) */
#signal {
background: black;
border: 0;
color: white;
font-family: "Times New Roman", Times, serif;
height: 100%;
margin: 0;
padding: 0;
max-height: 100%;
max-width: 100%;
position: fixed;
width: 100%;
& article {
align-content: center;
display: flex;
flex-direction: column;
height: 100%;
justify-content: center;
margin: 0 auto;
width: fit-content;
& h1 {
display: inline-flex;
font-size: 4rem;
margin: 0 auto;
}
& p {
font-size: 2rem;
}
& a {
margin: auto 0 0 auto;
}
& img {
border: 4px solid white;
max-height: 250px;
max-width: 100%;
padding: var(--pad-s);
}
& button {
inset-block: 100%;
bottom: 0;
position: sticky;
margin: var(--pad-xl) auto;
width: fit-content;
}
}
}
@media screen and (min-width: 916px) {
#sidebar {
display: flex;
}
#floating {
display: none;
}
#default button[popovertarget] {
display: none;
}
}
@media screen and (max-width: 916px) {
/* Reset */
header,
footer,
main {
margin: 0;
padding: 0;
width: auto;
}
footer span {
margin: 0 auto;
}
article {
margin: var(--pad-m);
padding: var(--pad-l);
}
header {
margin: calc(var(--pad-xxl) + var(--pad-l)) 0 0 0;
& h1 {
margin: auto 0 0 auto;
padding-right: var(--pad-m);
}
}
#default::before {
content: none;
}
body::after {
content: "";
}
#blog {
& main article {
max-width: initial;
& aside {
float: unset;
width: fit-content;
}
& section {
flex-direction: column;
}
& .postscript {
& p {
margin-right: var(--pad-sm);
& > a img {
height: auto;
max-height: var(--view);
}
}
}
}
}
#art {
& p {
max-width: auto;
}
& a:has(img) {
width: auto;
}
& section:has(a:nth-child(n + 2)) {
flex-direction: column;
}
}
}

View file

@ -1,60 +0,0 @@
#artworks {
& ul {
display: grid;
grid-template-columns: repeat(
auto-fill,
minmax(min(var(--thumb), 100%), 1fr)
);
gap: var(--pad-l);
& a {
display: block;
}
}
& figure {
margin: 0;
border-style: solid;
& img {
height: var(--thumb);
object-fit: cover;
}
& figcaption {
display: inline-flex;
font-size: 1.4rem;
}
& .count {
margin: auto 0 0 auto;
}
}
}
#art {
& p {
max-width: var(--post);
}
& section:has(a:nth-child(n + 2)) {
display: flex;
flex-direction: row;
gap: var(--pad-l);
}
& section:has(a:nth-child(n + 3)) {
flex-direction: column;
}
& section {
& a {
display: flex;
width: calc(var(--post) - var(--view));
flex-direction: column;
}
}
}
@media screen and (max-width: 916px) {
#art p {
max-width: auto;
}
#art a:has(img) {
width: auto;
}
#art section:has(a:nth-child(n + 2)) {
flex-direction: column;
}
}

View file

@ -1,89 +0,0 @@
@keyframes jump {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-4px);
}
}
#bio .emoji {
display: inline-flex;
height: 20px;
vertical-align: middle;
width: 20px;
&::after,
img {
filter: drop-shadow(0 0 0.5px #000a);
}
}
#badges ul {
gap: var(--pad-s);
padding: 0;
}
#interests a {
align-items: center;
display: inline-flex;
flex-direction: column;
height: auto;
justify-content: center;
text-align: center;
width: 160px;
&:not(:hover, :focus) {
background: transparent;
}
}
#interests span:has(img)::after {
background-image: url("/assets/img/icon/shortcut.png");
background-size: 100%;
content: "";
display: block;
height: 24px;
margin: -1.5rem 0 0 -0.5rem;
pointer-events: none;
position: absolute;
width: 24px;
z-index: 1;
}
.games img {
height: 48px;
}
.manga img {
height: 128px;
}
#pkmn {
background-image: url("/assets/img/pkmn/bg/box.png");
border-bottom-color: #78a068;
border-left-color: #c8f8c0;
border-radius: 4px;
border-right-color: #78a068;
border-style: solid;
border-top-color: #c8f8c0;
border-width: 3px;
margin: var(--pad-l) 0 0 0;
width: fit-content;
& li {
display: flex;
margin-left: -12px;
margin-top: -8px;
& span:hover {
filter: drop-shadow(0 -2px 0 #fff) drop-shadow(0 2px 0 #fff)
drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff)
drop-shadow(0 2px 3px #000a);
animation: jump 200ms infinite alternate;
}
}
}
#agender {
background-image: var(--agender);
}
#aromantic {
background-image: var(--aromantic);
}
#pansexual {
background-image: var(--pansexual);
}
#badges img {
max-height: 31px;
width: 88px;
}

View file

@ -22,12 +22,12 @@
}
/* Permalinks */
.header-anchor,
article pre {
main article pre {
transition: none;
}
/* Images */
#gallery a:has(figure),
#blog article figure,
#blog main article figure,
a img {
transition: none;
}
@ -41,8 +41,7 @@
}
}
/* Scrolling pride flag text */
article#bio span[id],
footer span {
#bio span[id] {
transition: none;
animation: none;
color: inherit;
@ -60,6 +59,9 @@
position: relative;
}
}
footer span {
width: 100%;
}
#aromantic::before {
background-image: url("/assets/img/flag/aromantic.svg");
}
@ -69,9 +71,6 @@
#pansexual::before {
background-image: url("/assets/img/flag/pansexual.svg");
}
footer span::before {
background-image: url("/assets/img/flag/trans.svg");
}
/* Jumping critters */
#pkmn span:hover {
animation: none;
@ -80,7 +79,7 @@
#art div {
transform: none;
}
article > .postscript {
main article > .postscript {
& p,
p > img {
transition: none;

View file

@ -10,53 +10,41 @@
position: fixed;
scrollbar-width: none;
width: var(--view);
& li *:is(a, button) {
align-items: center;
border-radius: var(--round);
border-style: solid;
border-width: 2px;
}
& section {
border-radius: var(--round);
border-style: solid;
border-width: 2px;
font-weight: bold;
& h3 {
display: flex;
font-size: 1.4rem;
height: var(--pad-xl);
margin: var(--pad-s) auto 0 auto;
margin: var(--pad-s) auto 0;
padding: 0;
}
}
& * svg,
li img {
align-self: center;
margin: 0 8px 0 8px;
width: 20px;
}
& ul {
margin-top: 0;
margin: var(--pad-s);
margin: 0 var(--pad-s) var(--pad-s);
padding: 0;
& li,
button {
align-items: center;
& li {
margin-bottom: inherit;
padding: 0;
& a,
button {
display: flex;
font-size: 1.125rem;
font-weight: bold;
height: 36px;
line-height: 2.125rem;
padding: 0;
width: 100%;
}
& img,
svg {
align-self: center;
margin: 0 8px 0 8px;
width: 20px;
}
& img {
border-radius: 100%;
}
}
}
& li *:is(a, button) {
display: flex;
font-size: 1.125rem;
font-weight: bold;
height: 36px;
line-height: var(--pad-xl);
width: 100%;
}
}
#default::before,
body::after {
@ -71,17 +59,17 @@ body::after {
z-index: -1;
}
#default::before {
-webkit-mask-position-x: -25px;
-webkit-mask-position-y: 90%;
bottom: 0;
left: 0;
mask-position-x: -25px;
mask-position-y: 90%;
mask-size: 160%;
}
body::after {
-webkit-mask-position-x: 0;
-webkit-mask-position-y: bottom;
content: none;
height: 100vw;
mask-position-x: 0;
mask-position-y: bottom;
mask-size: 100%;
width: 100%;
}
@ -107,22 +95,9 @@ body::after {
border: 0;
margin: 0;
padding: 0;
z-index: 1;
}
#default {
border: 0;
border-right-style: solid;
border-right-width: 2px;
#floating,
#sidebar {
z-index: 2;
}
/* hack to make the header look seamless with the nav when using citrus theme */
body {
position: relative;
z-index: -3;
& main {
position: inherit;
z-index: -2;
}
& #sidebar {
position: inherit;
z-index: -1;
}
}

View file

@ -1,2 +1,36 @@
@import url("./theme-dark.css");
@import url("./theme-light.css");
@import url("./theme-light.css");
body {
font-family: "Rubik", sans-serif;
}
main article,
main article a:has(figure),
#blog .addendum,
#blog #posts a,
#gallery #artworks a,
header a, .navbar section, .navbar li :is(a, button) {
border-radius: var(--round);
border-style: solid;
border-width: 2px;
}
main article {
& a figure {
border-color: inherit;
}
}
header {
margin-top: var(--pad-xl);
margin-left: calc(var(--view) + var(--pad-xl));
& a {
padding: var(--pad-s);
}
}
#blog {
& [alt="Profile picture"] {
border-radius: 100%;
}
}
#default {
border-right-style: solid;
border-right-width: 2px;
}

View file

@ -1,10 +1,10 @@
@media (prefers-color-scheme: dark) {
article,
main article,
body,
header svg {
color: var(--secondary-light-300);
}
article {
main article {
border-color: var(--secondary-300);
background-color: var(--secondary-200);
& #default {
@ -40,14 +40,11 @@
}
& .addendum {
background-color: var(--secondary-400);
box-shadow: inset 0 0 0 2px var(--secondary);
border-image-source: linear-gradient(
45deg,
var(--secondary),
var(--secondary-600),
var(--secondary)
);
border-color: var(--secondary);
}
& ul li::before {
background-color: var(--secondary-light-300);
}
}
#posts {
& p:not(:last-child) {
@ -97,18 +94,11 @@
background-color: var(--secondary);
}
}
ul:not([role]) li::before {
background-color: var(--secondary-light-300);
}
#interests {
& a:is(:hover, :focus):not(.header-anchor) {
box-shadow: 0 0 0 1px currentColor;
background-color: var(--secondary-500);
}
& img {
box-shadow: 0 0 0 1px
color-mix(in lch, transparent, var(--secondary-500) 70%);
}
& details h3 {
border-color: var(--secondary-600);
}

View file

@ -1,10 +1,10 @@
@media (prefers-color-scheme: light) {
article,
main article,
body,
header svg {
color: var(--primary-dark-300);
}
article {
main article {
border-color: var(--primary-300);
background-color: var(--primary-200);
& #default {
@ -40,13 +40,10 @@
}
& .addendum {
background-color: var(--primary-400);
box-shadow: inset 0 0 0 2px var(--primary);
border-image-source: linear-gradient(
45deg,
var(--primary),
var(--primary-600),
var(--primary)
);
border-color: var(--primary);
}
& ul:not([role]) li::before {
background-color: var(--primary-dark-300);
}
}
#posts {
@ -97,18 +94,11 @@
background-color: var(--primary-dark-500);
}
}
ul:not([role]) li::before {
background-color: var(--primary-dark-300);
}
#interests {
& a:is(:hover, :focus):not(.header-anchor) {
box-shadow: 0 0 0 1px currentColor;
background-color: var(--primary-500);
}
& img {
box-shadow: 0 0 0 1px
color-mix(in lch, transparent, var(--primary-dark-500) 30%);
}
& details h3 {
border-color: var(--primary-dark-600);
}

View file

@ -111,6 +111,15 @@
background-position: 200% 100%;
}
}
@keyframes jump {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-4px);
}
}
@font-face {
font-family: Rubik;
src: url("/assets/fonts/Rubik.ttf") format("truetype");