oh no i bit more than i could chew oh fuck oh shit *dies*

This commit is contained in:
sundae 2026-04-07 11:43:33 +03:00
commit 19b436ead1
Signed by: sundae
SSH key fingerprint: SHA256:MsJkKuo4PUdjQDpLeaURy81drKkW14exlTHp+8QFu6M
73 changed files with 553 additions and 780 deletions

View file

@ -90,7 +90,9 @@ article > .postscript {
gap: var(--pad-m);
}
& > img {
transition: height var(--trans), border-radius var(--trans),
transition:
height var(--trans),
border-radius var(--trans),
background-color var(--trans);
border-radius: var(--round);
min-height: fit-content;
@ -114,7 +116,6 @@ article > .postscript {
}
#posts {
max-width: var(--post);
& ul {
display: flex;
flex-direction: column;
@ -142,7 +143,7 @@ article > .postscript {
}
}
}
@media screen and (max-width: 920px) {
@media screen and (max-width: 916px) {
article aside {
float: unset;
width: fit-content;
@ -150,10 +151,6 @@ article > .postscript {
article section {
flex-direction: column;
}
#posts {
max-width: unset;
width: auto;
}
article > .postscript {
& p {
margin-right: var(--pad-sm);
@ -163,15 +160,4 @@ article > .postscript {
}
}
}
}
@media (prefers-reduced-motion: reduce) {
article > .postscript {
& p,
p > img {
transition: none;
}
}
#blog #posts a {
transition: none;
}
}
}

View file

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

View file

@ -1,4 +1,4 @@
@import url("./media.css");
@import url("./motion.css");
@import url("./variables.css");
@import url("./nav.css");
@ -9,144 +9,113 @@ h3,
h4,
h5,
h6 {
font-family: "Rubik", sans-serif;
display: block;
font-size: 2rem;
margin-block-start: 0;
margin-block-end: 0;
margin-inline-start: 0;
margin-inline-end: 0;
font-weight: bold;
width: fit-content;
}
body {
font-family: "Rubik", sans-serif;
font-size: 100%;
margin: 0;
padding: 0;
& a,
button {
cursor: pointer;
transition: background-color var(--trans);
&:is(:hover, :focus) {
outline: 0;
}
}
}
svg {
fill: currentColor;
stroke: currentColor;
stroke-width: 0;
}
header {
padding-top: var(--pad-xl);
padding-left: calc(var(--view) + var(--pad-xl));
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);
}
& h1 {
display: inline-flex;
}
}
footer {
overflow-y: hidden;
word-break: break-all;
flex-wrap: wrap;
font-family: "Nosey Rodent", sans-serif;
display: flex;
margin-left: var(--view);
width: calc(100% - var(--view));
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: var(--main);
width: fit-content;
padding: var(--pad-xl);
padding-left: calc(var(--view) + var(--pad-xl));
padding-right: var(--view);
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;
}
}
.header-anchor {
display: inline-block;
transition:
color var(--trans),
background-color var(--trans);
height: max-content;
padding: 0 var(--pad-m);
margin: 0 0 0 calc(var(--pad-xl) * -1);
border-radius: 0 var(--round) var(--round) 0;
}
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);
}
& code:not(pre *) {
padding: 0 var(--pad-s);
}
& pre {
display: flex;
width: auto;
@ -155,17 +124,7 @@ article {
word-break: break-word;
border-style: solid;
border-width: 2px;
transition:
background-color var(--trans),
border-color var(--trans);
}
& pre,
code:not(pre *) {
border-radius: var(--round);
font-weight: bold;
}
& figure {
margin: 0;
border-style: solid;
@ -175,96 +134,52 @@ article {
display: flex;
flex-direction: column;
}
& ul:not([role="list"]):is(#art *) {
padding: 0;
margin: 0 0 var(--pad-s) var(--pad-xl);
}
& li:not([role] *, #changelog *) {
&::marker {
content: none;
}
&::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);
z-index: 0;
}
}
& section {
& a:has(figure) {
height: max-content;
}
& figure img {
border-radius: inherit;
}
& figcaption {
font-weight: normal;
font-style: italic;
padding-top: var(--pad-s);
padding: var(--pad-m) 0;
}
}
& > :first-child > code {
display: flex;
width: fit-content;
margin: var(--pad-s) 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);
}
}
.link {
display: inline-flex;
& a {
margin-right: 4px;
}
& img {
position: relative;
vertical-align: sub;
margin: 0 var(--pad-s);
}
}
article a:not(.link *, a:has(img)) {
display: inline-flex;
padding: 0 var(--pad-s);
}
dialog button[commandfor="signal"] {
width: max-content;
padding: 0 var(--pad-s);
margin: 0 auto;
}
dialog#signal {
#signal {
cursor: default;
background: black;
border: none;
@ -276,7 +191,6 @@ dialog#signal {
height: 100%;
position: fixed;
padding: var(--pad-xl);
& article {
display: flex;
flex-direction: column;
@ -288,15 +202,12 @@ dialog#signal {
background: none;
word-wrap: break-word;
color: white;
& h1 {
font-size: 4rem;
}
& p {
font-size: 2rem;
}
& a {
margin: auto 0 0 auto;
}
@ -305,7 +216,6 @@ dialog#signal {
a {
font-family: "Times New Roman", Times, serif;
}
& img {
border: 4px solid white;
padding: var(--pad-s);
@ -314,21 +224,22 @@ dialog#signal {
}
}
}
@media screen and (min-width: 916px) {
div#sidebar {
#sidebar {
display: flex;
}
nav#floating {
#floating {
display: none;
}
nav#default button[popovertarget] {
#default button[popovertarget] {
display: none;
}
}
@media screen and (max-width: 916px) {
/* Reset */
header, footer, main {
header,
footer,
main {
margin: 0;
padding: 0;
width: auto;
@ -338,14 +249,16 @@ dialog#signal {
padding: var(--pad-l);
}
header {
text-align: right;
margin: calc(var(--pad-xxl) + var(--pad-l)) 0 0 0;
}
header h1 {
margin: auto 0 0 auto;
padding-right: var(--pad-m);
}
/* Move navbar artwork */
nav#default::before {
#default::before {
content: none;
}
body::after {
content: "";
}
}
}

View file

@ -1,9 +1,3 @@
#gallery {
& time {
display: flex;
align-self: center;
}
}
#artworks {
& ul {
display: grid;
@ -11,29 +5,21 @@
auto-fill,
minmax(min(var(--thumb), 100%), 1fr)
);
padding: 0;
margin: 0;
gap: var(--pad-l);
& a {
display: block;
}
}
& figure {
margin: 0;
border-style: solid;
& img {
display: flex;
width: 100%;
height: var(--thumb);
object-fit: cover;
}
& figcaption {
display: inline-flex;
font-size: 1.4rem;
display: flex;
align-items: baseline;
text-decoration-style: none;
}
& .count {
margin: auto 0 0 auto;
@ -42,16 +28,9 @@
}
#art {
display: flex;
flex-direction: column;
width: fit-content;
& p {
max-width: var(--post);
}
& h3 {
display: flex;
gap: var(--pad-s);
}
& section:has(a:nth-child(n + 2)) {
display: flex;
flex-direction: row;
@ -68,14 +47,6 @@
}
}
}
@media screen and (max-width: 1500px) {
#art section:has(a:nth-child(n + 2)) {
flex-direction: column;
& a {
width: 100%;
}
}
}
@media screen and (max-width: 916px) {
#art p {
max-width: auto;

View file

@ -7,116 +7,65 @@
transform: translateY(-4px);
}
}
article#bio {
& .emoji {
height: 20px;
width: 20px;
display: inline-flex;
vertical-align: middle;
&::after,
img {
filter: drop-shadow(0 0 0.5px #000a);
}
#bio .emoji {
display: inline-flex;
height: 20px;
vertical-align: middle;
width: 20px;
&::after,
img {
filter: drop-shadow(0 0 0.5px #000a);
}
}
article#badges {
& ul {
padding: 0;
display: flex;
flex-wrap: wrap;
gap: var(--pad-s);
}
& a {
display: flex;
margin: 0;
}
& img {
box-sizing: content-box;
}
#badges ul {
gap: var(--pad-s);
padding: 0;
}
article#interests {
& ul {
display: flex;
flex-wrap: wrap;
margin: 0;
padding: var(--pad-l) 0;
}
& li {
display: flex;
width: 14ch;
flex-wrap: wrap;
text-align: center;
justify-content: center;
& a {
display: flex;
flex-direction: column;
padding: var(--pad-s);
width: inherit;
&:not(:hover, :focus) {
background: transparent;
}
}
}
& .music img,
.games img {
height: 48px;
}
& .manga img {
height: 128px;
}
& span:has(img) {
width: fit-content;
margin: 0 auto;
&::after {
content: "";
background-image: url("/assets/img/icon/shortcut.png");
background-size: 100%;
display: block;
z-index: 1;
position: absolute;
width: 24px;
height: 24px;
margin: -1.5rem 0 0 -0.5rem;
pointer-events: none;
}
}
& details:last-child ul {
padding: var(--pad-l) 0 0 0;
}
& details h3 {
border-bottom-width: 1px;
border-bottom-style: solid;
}
}
#pkmn {
display: flex;
flex-wrap: wrap;
#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-radius: 5px;
width: fit-content;
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;
border-style: solid;
margin: var(--pad-l) 0 0 0;
width: fit-content;
& li {
display: flex;
margin-top: -8px;
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)
@ -124,23 +73,17 @@ article#interests {
animation: jump 200ms infinite alternate;
}
}
& li:first-child {
margin-left: 0px;
}
}
#agender {
background-image: var(--agender);
}
#aromantic {
background-image: var(--aromantic);
}
#pansexual {
background-image: var(--pansexual);
}
#badges img {
max-height: 31px;
width: 88px;
}
}

View file

@ -14,12 +14,10 @@
background-repeat: no-repeat;
background-position: center;
background-size: contain;
& footer {
position: sticky;
bottom: 0;
}
& header {
top: 0;
display: flex;
@ -37,7 +35,6 @@
overflow: hidden;
}
}
& footer,
header {
position: absolute;

View file

@ -1,6 +1,6 @@
@media (prefers-reduced-motion: no-preference) {
/* Scrolling pride flag text */
article#bio span[id],
#bio span[id],
footer span {
font-family: "Nosey Rodent", sans-serif;
font-weight: bold;
@ -15,9 +15,6 @@
}
}
@media (prefers-reduced-motion: reduce) {
body {
animation: none;
}
/* Buttons */
:is(a, button),
span:has(a) {
@ -44,7 +41,8 @@
}
}
/* Scrolling pride flag text */
article#bio span[id], footer span {
article#bio span[id],
footer span {
transition: none;
animation: none;
color: inherit;
@ -79,4 +77,16 @@
animation: none;
transform: translateY(-4px);
}
#art div {
transform: none;
}
article > .postscript {
& p,
p > img {
transition: none;
}
}
#blog #posts a {
transition: none;
}
}

View file

@ -1,127 +1,128 @@
.navbar {
position: fixed;
display: flex;
z-index: 2;
flex-direction: column;
overflow-x: hidden;
padding: var(--pad-l);
width: var(--view);
height: 100%;
overflow-y: scroll;
scrollbar-width: none;
gap: var(--pad-m);
height: 100%;
margin: 0;
overflow-x: hidden;
overflow-y: scroll;
padding: var(--pad-l);
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;
border-radius: var(--round);
}
& section {
border-radius: var(--round);
font-weight: bold;
border-width: 2px;
border-style: solid;
border-width: 2px;
font-weight: bold;
& h3 {
display: flex;
justify-content: center;
align-items: center;
padding: 0;
height: var(--pad-xl);
font-size: 1.4rem;
height: var(--pad-xl);
margin: var(--pad-s) auto 0 auto;
padding: 0;
}
}
& * svg,
li img {
align-self: center;
margin: 0 8px 0 8px;
width: 20px;
align-self: center;
}
& ul {
margin-top: 0;
margin: var(--pad-s);
padding: 0;
& li,
button {
padding: 0;
align-items: center;
margin-bottom: inherit;
padding: 0;
& img {
border-radius: 100%;
}
}
}
& li *:is(a, button) {
display: flex;
font-size: 1.125rem;
width: 100%;
font-weight: bold;
height: 36px;
line-height: var(--pad-xl);
width: 100%;
}
}
nav#default::before,
#default::before,
body::after {
z-index: -1;
content: "";
position: absolute;
height: inherit;
margin: 0;
mask-image: url("/assets/img/theme/sundae_sit-lines.png");
mask-repeat: no-repeat;
margin: 0;
width: inherit;
height: inherit;
pointer-events: none;
position: absolute;
width: inherit;
z-index: -1;
}
nav#default::before {
#default::before {
-webkit-mask-position-x: -25px;
-webkit-mask-position-y: 90%;
bottom: 0;
left: 0;
mask-size: 160%;
-webkit-mask-position-x: -25px;
-webkit-mask-position-y: 90%;
}
body::after {
content: none;
mask-size: 100%;
width: 100%;
height: 100vw;
-webkit-mask-position-x: 0;
-webkit-mask-position-y: bottom;
content: none;
height: 100vw;
mask-size: 100%;
width: 100%;
}
nav#floating {
width: var(--float);
height: fit-content;
border-bottom-style: solid;
border-right-style: solid;
border-bottom-width: 2px;
border-right-width: 2px;
#floating {
border-bottom-right-radius: var(--pad-l);
border-bottom-style: solid;
border-bottom-width: 2px;
border-right-style: solid;
border-right-width: 2px;
height: fit-content;
top: 0;
width: var(--float);
& button {
width: fit-content;
font-size: 0;
width: fit-content;
}
& a {
display: none;
}
}
div#sidebar {
margin: 0;
padding: 0;
#sidebar {
background: none;
border: 0;
margin: 0;
padding: 0;
}
nav#default {
#default {
border: 0;
border-right-style: solid;
border-right-width: 2px;
}
/* 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

@ -4,52 +4,42 @@
header svg {
color: var(--secondary-light-300);
}
article {
border-color: var(--secondary-300);
background-color: var(--secondary-200);
& #default {
box-shadow: inset 0 0 0 2px var(--secondary-500);
background-color: var(--secondary-300);
}
& s,
u {
text-decoration-color: color-mix(in lch, red, var(--secondary-500) 20%);
}
& code:not(pre *) {
color: var(--secondary-400);
background-color: var(--secondary-light-400);
}
& pre {
background-color: var(--secondary-100);
&:hover {
border-color: var(--secondary);
background-color: var(--secondary-400);
}
}
& pre,
code {
border-color: var(--secondary-400);
}
/* blog.css */
& .post-warning {
background-color: var(--secondary);
color: var(--secondary-100);
&::before,
&::after {
background-color: var(--secondary);
}
}
& .addendum {
background-color: var(--secondary-400);
box-shadow: inset 0 0 0 2px var(--secondary);
border-image-source: linear-gradient(
45deg,
@ -57,20 +47,17 @@
var(--secondary-600),
var(--secondary)
);
background-color: var(--secondary-400);
}
}
#posts {
& p:not(:last-child) {
color: var(--secondary-light-700);
}
}
/* default.css */
body {
background-color: var(--secondary-100);
& :is(a, button):not(span *, .postscript *, dialog *),
span:has(a) {
& a,
button {
color: var(--secondary-light-400);
border-color: var(--secondary-600);
background-color: color-mix(in lch, var(--secondary-300), transparent);
@ -79,24 +66,17 @@
border-color: currentColor;
background-color: var(--secondary-500);
}
&:is(.header-anchor):is(:hover, :focus) {
background-color: var(--secondary-light-400);
color: var(--secondary-300);
box-shadow: 0 0 0 2px var(--secondary-300);
}
}
& span a {
color: inherit;
}
& nav#default,
nav#floating {
& #default,
#floating {
background-color: var(--secondary-100);
border-color: var(--secondary);
& section {
border-color: var(--secondary);
background-color: color-mix(in lch, var(--secondary-300), transparent);
background-color: var(--secondary-300);
color: var(--secondary-light-300);
& a[aria-current] {
color: var(--secondary-500);
@ -104,7 +84,6 @@
background-color: var(--secondary-light-500);
}
}
&::after {
background-image: linear-gradient(
to bottom,
@ -113,34 +92,27 @@
);
}
}
&::after,
& nav#default::before {
& #default::before {
background-color: var(--secondary);
}
}
/* home.css */
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);
}
}
a:has(img[src*="/assets/img/button"]) {
background-color: unset;
}

View file

@ -4,52 +4,42 @@
header svg {
color: var(--primary-dark-300);
}
article {
border-color: var(--primary-300);
background-color: var(--primary-200);
& #default {
box-shadow: inset 0 0 0 2px var(--primary-500);
background-color: var(--primary-300);
}
& s,
u {
text-decoration-color: color-mix(in lch, red, var(--primary-500) 20%);
}
& code:not(pre *) {
color: var(--primary-400);
background-color: var(--primary-dark-400);
}
& pre {
background-color: var(--primary-100);
&:hover {
border-color: var(--primary);
background-color: var(--primary-400);
}
}
& pre,
code {
border-color: var(--primary-400);
}
/* blog.css */
& .post-warning {
background-color: var(--primary);
color: var(--primary-dark-100);
&::before,
&::after {
background-color: var(--primary);
}
}
& .addendum {
background-color: var(--primary-400);
box-shadow: inset 0 0 0 2px var(--primary);
border-image-source: linear-gradient(
45deg,
@ -57,46 +47,36 @@
var(--primary-600),
var(--primary)
);
background-color: var(--primary-400);
}
}
#posts {
& p:not(:last-child) {
color: var(--primary-dark-700);
}
}
/* default.css */
body {
background-color: var(--primary-100);
& :is(a, button):not(span *, .postscript *, dialog *),
span:has(a) {
& a,
button {
color: var(--primary-dark-400);
border-color: var(--primary-600);
background-color: var(--primary-400);
background-color: color-mix(in lch, var(--primary-400), transparent);
&:is(:hover, :focus) {
color: var(--primary-dark-500);
border-color: currentColor;
background-color: var(--primary-600);
}
&:is(.header-anchor):is(:hover, :focus) {
background-color: var(--primary-dark-400);
color: var(--primary-300);
box-shadow: 0 0 0 2px var(--primary-300);
}
}
& span a {
color: inherit;
}
& nav#default,
nav#floating {
& #default,
#floating {
background-color: var(--primary-100);
border-color: var(--primary-dark-500);
& section {
border-color: var(--primary-dark-800);
background-color: color-mix(in lch, var(--primary-300), transparent);
background-color: var(--primary-300);
color: var(--primary-dark-300);
& a[aria-current] {
color: var(--primary-500);
@ -104,7 +84,6 @@
background-color: var(--primary-dark-500);
}
}
&::after {
background-image: linear-gradient(
to bottom,
@ -113,34 +92,27 @@
);
}
}
&::after,
& nav#default::before {
& #default::before {
background-color: var(--primary-dark-500);
}
}
/* home.css */
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);
}
}
a:has(img[src*="/assets/img/button"]) {
background-color: unset;
}

View file

@ -52,7 +52,7 @@
--pad-l: 1rem;
--pad-xl: 2rem;
--pad-xxl: 4rem;
--round: 16px;
--round: 16px; /* Border radius */
--trans: 300ms;
--paw: url("/assets/img/theme/paw.svg");
--paw-tiled: url("/assets/img/theme/paw-tiled.png");
@ -102,17 +102,6 @@
#00d2ff 0
);
}
@keyframes mainbg {
0% {
background-position: 0rem 0rem;
}
100% {
background-position: 256px 256px;
}
}
@keyframes slide {
0% {
background-position: 0% 100%;
@ -122,17 +111,14 @@
background-position: 200% 100%;
}
}
@font-face {
font-family: Rubik;
src: url("/assets/fonts/Rubik.ttf") format("truetype");
}
@font-face {
font-family: Urbanist;
src: url("/assets/fonts/Urbanist-Bold.ttf") format("truetype");
}
@font-face {
font-family: Nosey Rodent;
src: url("/assets/fonts/noseyrodent-Regular.ttf") format("truetype");