overhauled old theme

This commit is contained in:
sundae 2025-10-14 19:40:29 +03:00
parent f18a342ae5
commit fb24c6a302
No known key found for this signature in database
82 changed files with 1378 additions and 1371 deletions

View file

@ -0,0 +1,106 @@
#blog {
background-attachment: local, fixed;
background-color: var(--light);
background-image: var(--dot),
linear-gradient(var(--citrus-mix-dark) 0% 10%, var(--citrus-dark) 100%);
background-size: 6px, contain;
background-blend-mode: overlay, normal;
animation: none;
& article {
border-radius: 0;
background-color: var(--citrus-light);
background-image: var(--noise);
background-size: auto;
background-repeat: repeat;
box-shadow: inset 0 -2rem 3rem -4rem var(--dark), var(--shadow-heavy);
& aside {
border-width: 2px;
border-style: solid;
background-color: var(--citrus-mix-light);
border-color: var(--citrus-mix);
border-radius: 0;
}
& pre {
border-radius: 4px;
color: var(--citrus-secondary);
background-color: var(--citrus-dark-extra);
background-size: 4px;
}
& [aria-label="Post warning"] {
background-color: var(--citrus-primary);
}
& [aria-label="Addendum"] {
border-image-source: linear-gradient(
45deg,
var(--citrus-primary),
var(--citrus-secondary)
);
background-color: var(--citrus-primary);
}
& s {
text-decoration-color: #d00;
}
& [aria-label="Postscript"] {
& span:has([alt]) {
&::after {
content: "";
width: calc(var(--avatar) - 10px);
height: calc(var(--avatar) - 10px);
position: absolute;
margin: 5px;
background-image: linear-gradient(
color-mix(in lch, var(--light), transparent),
transparent
);
box-shadow: inset 0 0 2px 0 var(--dark);
}
}
& [alt="Profile picture"] {
color: unset;
border-radius: inherit;
border: 2px solid;
border-image-source: linear-gradient(
to bottom,
var(--citrus-mix-light),
var(--citrus-secondary)
);
border-image-slice: 1;
border-width: 3px;
box-sizing: inherit;
padding: 2px;
background-image: radial-gradient(
ellipse at 50% -0%,
var(--light) 20%,
var(--dark) 150%
), var(--pansexual);
background-blend-mode: overlay, normal;
background-size: cover, 100%;
background-position: center;
background-repeat: no-repeat;
box-shadow: 0 0 0 2px var(--citrus-mix-dark),
inset 0 0 0 2px var(--citrus-mix), var(--shadow-light);
font-size: 0;
}
}
}
& #posts {
& a {
border-width: 4px;
box-shadow: var(--shadow-light);
border-radius: 0;
& p {
color: initial;
}
& p:not(:last-child) {
color: var(--citrus-dark);
}
&:not(:hover, :focus) {
background-color: var(--citrus-light);
border-color: var(--citrus-light);
}
}
}
}
#blog:not(:has(#posts)) header {
text-align: initial !important;
}

View file

@ -1,259 +0,0 @@
@import url("./variables.css");
@import url("../default/variables.css");
@import url("./nav.css");
#bio,
#interests,
#badges,
#artworks,
#art {
font-family: "Pangolin", sans-serif;
}
body {
background-attachment: local, fixed;
background-color: var(--citrus-primary);
background-image: var(--checker),
linear-gradient(var(--citrus-primary), var(--citrus-secondary));
background-size: 32px, contain;
background-blend-mode: overlay, normal;
}
body > nav {
background-attachment: fixed;
background-blend-mode: screen;
background-image: var(--dot),
linear-gradient(var(--citrus-primary), var(--citrus-secondary) 20%);
background-size: 6px;
background-blend-mode: screen;
border-color: var(--citrus-dark);
color: var(--citrus-dark);
& a,
button {
background-image: linear-gradient(
var(--citrus-light),
var(--citrus-primary) 20%,
var(--citrus-primary) 80%,
var(--citrus-light) 100%
);
box-shadow: 0 0 0 2px var(--citrus-dark),
inset 0 0 8px 2px var(--citrus-primary);
border-radius: var(--pad-l);
color: inherit;
&[aria-current] {
box-shadow: 0 0 0 2px var(--citrus-dark),
inset 0 0 4px 2px var(--citrus-dark);
background-image: linear-gradient(
var(--citrus-mix),
var(--citrus-dark) 10%,
chocolate
);
color: var(--citrus-light);
}
&:is(:hover, :focus):not([aria-current="page"]) {
box-shadow: 0 0 0 2px var(--citrus-dark);
transition: background-image var(--trans), border-color var(--trans),
box-shadow var(--trans);
}
}
& details {
background-image: linear-gradient(
-45deg,
var(--citrus-primary),
var(--citrus-secondary),
var(--citrus-primary)
);
}
}
article {
background-color: var(--citrus-light);
border-radius: 0;
background-image: var(--noise);
box-shadow: var(--shadow);
border: 0;
& .header-anchor {
border-radius: inherit;
background-color: color-mix(in lch, magenta, white);
&:is(:hover, :focus) {
background-color: color-mix(in lch, magenta, white 30%);
}
}
& code:not(pre *) {
border-radius: inherit;
background-color: yellow;
box-shadow: 2px 2px 8px 0 color-mix(in lch, yellow, black 10%);
}
}
/* home.css */
#interests div:has(img)::after {
display: none !important;
}
#interests li {
& a {
align-content: center;
}
&:has(div img) {
margin: var(--pad-sm);
box-shadow: var(--shadow);
background: color-mix(in lch, yellow, white);
&:nth-child(odd) {
transform: rotate(1deg);
}
}
}
ul:not([role]) li::before {
background-color: #000;
}
a:has(img[src*="/assets/img/button"]):is(:hover, :focus) img {
filter: drop-shadow(4px 6px 0 var(--citrus-dark));
}
/* blog.css */
#blog {
background-color: #fff;
background-image: var(--dot);
background-size: 6px;
background-attachment: local;
background-repeat: repeat;
background-blend-mode: difference;
& main {
&::before {
background-image: var(--bg-sky);
background-size: cover;
background-repeat: no-repeat;
}
}
& article {
border-radius: 0;
background-color: #fff;
background-image: var(--noise);
background-size: auto;
background-repeat: repeat;
box-shadow: inset 0 0 2rem -0.5rem #ccc;
& > [aria-label="Postscript"]::after {
background-color: var(--citrus-primary);
}
& aside {
border-width: 2px;
border-style: solid;
background-color: var(--citrus-light);
border-color: var(--citrus-primary);
border-radius: 0;
}
& pre {
border-radius: 4px;
color: var(--citrus-secondary);
background-color: color-mix(in lch, var(--citrus-secondary), black 90%);
background-size: 4px;
text-shadow: 2px 2px 0
color-mix(in lch, var(--citrus-secondary), black 60%);
}
& [aria-label="Post warning"] {
background-color: var(--citrus-primary);
}
& [aria-label="Addendum"] {
border-image-source: linear-gradient(
45deg,
var(--citrus-primary),
var(--citrus-secondary)
);
background-color: var(--citrus-primary);
}
& s {
text-decoration-color: #d00;
}
}
& #posts {
& a {
background-color: #fff;
border-color: #fff;
border-width: 4px;
box-shadow: var(--shadow);
transition: border-color var(--trans), color var(--trans);
& p {
color: initial;
}
& p:not(:last-child) {
color: color-mix(in lch, var(--dark), var(--light) 50%);
}
&:is(:hover, :focus) {
border-color: currentColor;
}
}
}
}
/* gallery.css */
#gallery {
& article {
border-radius: 0;
border: 0;
}
& a:has(figure) {
transition: border-color var(--trans), background-color var(--trans);
box-shadow: var(--shadow);
&:is(:hover, :focus) {
& figure {
transition: inherit;
background-color: currentColor;
border-color: currentColor;
}
& figcaption,
time {
color: #fff;
}
}
}
& figure {
border-color: #fff;
background-color: #fff;
}
}
#artworks {
article {
margin: var(--pad-xl) 0 0 0;
background-color: #fff;
background-image: var(--noise), var(--lined);
background-size: auto, 32px;
&:last-child:not(:first-of-type) {
margin: calc(var(--pad-xl) + var(--pad-xl)) 0 0 0;
}
&::before {
content: "";
display: flex;
height: 32px;
width: calc(100% + var(--pad-xl) * 2);
margin: -4rem 0 var(--pad-l) calc(var(--pad-xl) * -1);
background-image: var(--border), var(--lined), var(--noise);
background-size: 32px, 32px;
background-blend-mode: darken;
}
}
}
#art {
background-image: var(--noise);
& p,
time {
padding: 0;
line-height: 32px;
}
& img {
border-radius: 0;
}
& figcaption {
font-family: "Urbanist", sans-serif;
}
}
@media screen and (max-width: 920px) {
body > nav {
border-right: 0;
border-bottom-right-radius: 0;
}
body::after {
content: none;
}
}
@media screen and (max-width: 450px) {
#artworks & article {
&::before {
width: calc(100% + var(--pad-l) * 2) !important;
margin: -3rem 0 0 -16px;
}
}
}

View file

@ -0,0 +1,80 @@
@import url("./blog.css");
@import url("./gallery.css");
@import url("./home.css");
@import url("./nav.css");
@import url("./variables.css");
:is(a, button):not(span *, [aria-label="Postscript"] *, body nav *),
span:has(a),
#posts a {
color: var(--citrus-dark);
transition: background-color var(--trans);
background-color: var(--citrus-primary);
&:is(:hover, :focus) {
color: var(--citrus-dark-extra);
background-color: var(--citrus-secondary);
}
& a {
color: inherit;
}
}
body {
color: var(--citrus-dark-extra);
background-color: var(--citrus-primary);
background-image: var(--paw-tiled);
background-size: 128px;
background-attachment: local;
background-repeat: repeat;
background-blend-mode: soft-light;
animation: mainbg 10s linear infinite;
}
header {
color: var(--citrus-dark);
}
ul:not([role]) li::before {
background-color: var(--citrus-dark-extra);
}
article {
background: var(--noise),
linear-gradient(
var(--citrus-light) 70%,
color-mix(in lch, var(--citrus-mix-light), var(--citrus-light)) 100%
);
border-radius: 0;
box-shadow: var(--shadow-heavy);
border: 0;
& .header-anchor {
border-radius: 0;
}
& code:not(pre *) {
border-radius: 0;
background-color: var(--citrus-dark);
color: var(--citrus-primary);
}
&:not(pre,code,a) {
font-family: "Nosey Rodent", sans-serif;
}
}
@media screen and (max-width: 920px) {
body > nav {
border: 0;
}
header {
margin: 0;
padding: 0;
border-right: 0;
border-radius: 0;
width: 100%;
}
body::after {
content: none;
}
}
@media screen and (max-width: 450px) {
#artworks & article {
&::before {
width: calc(100% + var(--pad-l) * 2) !important;
margin: -3rem 0 0 -16px;
}
}
}

View file

@ -0,0 +1,45 @@
#gallery {
& article {
border-radius: 0;
border: 0;
}
& a:has(figure) {
font-family: "Urbanist", sans-serif;
transition: border-color var(--trans), background-color var(--trans);
box-shadow: var(--shadow-light);
&:is(:hover, :focus) {
& figure {
transition: inherit;
border-color: currentColor;
}
}
}
& figure {
border-width: 4px;
&:is(:not(a:hover *, a:focus *)) {
border-color: var(--light);
background-color: var(--light);
}
}
}
#artworks {
article {
margin: var(--pad-xl) 0 0 0;
background-color: var(--light);
background-image: var(--noise), var(--lined);
background-size: auto, 32px;
&:last-child:not(:first-of-type) {
margin: calc(var(--pad-xl) + var(--pad-xl)) 0 0 0;
}
&::before {
content: "";
display: flex;
height: 32px;
width: calc(100% + var(--pad-xl) * 2);
margin: -4rem 0 var(--pad-l) calc(var(--pad-xl) * -1);
background-image: var(--border), var(--lined), var(--noise);
background-size: 32px, 32px;
background-blend-mode: darken;
}
}
}

View file

@ -0,0 +1,21 @@
article#badges {
& a:is(:hover,:focus) {
transition: box-shadow var(--trans), background-color var(--trans);
box-shadow: 0 0 0 2px var(--citrus-secondary), 0 0 0 4px var(--citrus-dark-extra);
background-color: var(--citrus-secondary);
}
}
#interests li {
margin: var(--pad-sm);
box-shadow: var(--shadow-light);
background: color-mix(in lch, #ff0, #fff);
&:nth-child(odd) {
transform: rotate(1deg);
}
& a {
align-content: center;
& span:has(img)::after {
display: none;
}
}
}

View file

@ -1,10 +1,58 @@
body > nav {
border-right: 4px solid;
border-bottom: 4px solid;
height: auto;
border-bottom-right-radius: var(--round);
& a, button {
border: 0;
margin: 0 0 var(--pad-sm) 0 ;
color: var(--citrus-dark);
& summary {
filter: drop-shadow(2px 0 var(--citrus-dark))
drop-shadow(-2px 0 var(--citrus-dark))
drop-shadow(0 2px var(--citrus-dark))
drop-shadow(0px -2px var(--citrus-dark));
color: var(--citrus-light);
}
& a,
button {
background: var(--button-bg);
box-shadow: var(--button-shine);
border: var(--button-border);
border-radius: var(--round);
color: inherit;
&[aria-current] {
background: var(--button-current-bg);
box-shadow: var(--button-current-shine);
border: var(--button-current-border);
color: var(--citrus-light);
}
&:is(:hover, :focus):not([aria-current="page"]) {
background: var(--button-hover-bg);
box-shadow: var(--button-hover-shine);
border: var(--button-hover-border);
transition: background-image var(--trans), border-color var(--trans),
box-shadow var(--trans);
color: var(--citrus-mix-dark);
}
}
& details,
details[open] {
background: var(--details-bg);
box-shadow: var(--details-shine);
border: var(--details-border);
}
}
body > nav,
header {
background-attachment: fixed;
background-blend-mode: screen;
background-image: var(--nav-bg);
background-size: 6px;
border-color: var(--citrus-dark);
}
header {
width: var(--view);
border-right-width: 4px;
border-right-style: solid;
border-bottom-width: 4px;
border-bottom-style: solid;
border-bottom-right-radius: 100px;
margin-left: calc(var(--view) - 4px);
position: relative;
padding: calc(var(--pad-m) - 2px) var(--pad-sm);
}

View file

@ -3,16 +3,30 @@
--citrus-secondary: var(--secondary);
--citrus-light: color-mix(in lch, var(--citrus-primary), var(--light) 70%);
--citrus-dark: color-mix(in lch, var(--citrus-secondary), var(--dark) 60%);
--citrus-light-extra: color-mix(in lch, var(--citrus-light), var(--light));
--citrus-dark-extra: color-mix(in lch, var(--citrus-dark), var(--dark));
--citrus-mix: color-mix(in lch,var(--citrus-primary),var(--citrus-secondary));
--shadow: 0.2rem 0.2rem 0.4rem 0.2rem #0003;
--citrus-mix-light: color-mix(in lch, var(--citrus-light), var(--citrus-mix));
--citrus-mix-dark: color-mix(in lch, var(--citrus-dark), var(--citrus-mix));
--shadow-light: 0.2rem 0.2rem 0.2rem 0.1rem #0002;
--shadow-heavy: 0.2rem 0.2rem 0.4rem 0.2rem #0004;
--checker: url("/assets/img/theme/citrus/checker.png");
--dot: url("/assets/img/theme/citrus/dot.png");
--lined: url("/assets/img/theme/citrus/line.png");
--paper: url("/assets/img/theme/citrus/paper.png");
--noise: url("/assets/img/theme/citrus/imagedoc-lightnoise.png");
--border: url("/assets/img/theme/citrus/border.png");
--bg-sky: url("/assets/img/pkmn/bg/plat_trade1.png");
--bg-ilex: url("/assets/img/pkmn/bg/ilex_day.png");
--bg-ilex-noon: url("/assets/img/pkmn/bg/ilex_noon.png");
--bg-ilex-night: url("/assets/img/pkmn/bg/ilex_night.png");
}
--nav-bg: var(--dot), linear-gradient(var(--citrus-primary), var(--citrus-secondary) 60%, var(--citrus-primary) 120%);
--button-bg: linear-gradient(var(--citrus-primary) 30%, var(--citrus-mix) 80%);
--button-border: 2px solid var(--citrus-dark);
--button-shine: inset 0px 2px var(--citrus-light), inset 0px -2px var(--citrus-mix);
--button-hover-bg: linear-gradient(var(--citrus-light),var(--citrus-primary),var(--citrus-mix-light));
--button-hover-border: 2px solid var(--citrus-light);
--button-hover-shine: inset 0 -2px 0 0 var(--citrus-mix);
--button-current-bg: linear-gradient(var(--citrus-mix-dark),var(--citrus-dark-extra) 200%);
--button-current-border: 2px solid var(--citrus-dark-extra);
--button-current-shine: inset 0px 2px 0 var(--citrus-mix-light), inset 0 -2px 0 var(--citrus-mix-dark);
--details-bg: linear-gradient(-45deg,var(--citrus-primary),var(--citrus-mix),var(--citrus-primary));
--details-shine: inset 0 2px 0 var(--citrus-light-extra), inset 2px 0 0 var(--citrus-light), inset 0 -2px 0 var(--citrus-primary), inset -2px 0 0 var(--citrus-primary);
--details-border: 2px solid var(--citrus-dark);
}