yummy.cricket/style/base.css

567 lines
12 KiB
CSS
Raw Normal View History

2025-02-16 17:08:50 +01:00
@layer outer, face-menu, cube, face-base, faces;
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
@import url(../fonts/muller/muller.css) layer(outer);
@import url(properties.css);
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
/*
@import url(../fonts/muller/muller.css) layer(outer)
(not (prefers-reduced-data: reduce));
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
if a browser doesn't understand the media query it DOESN'T do
the import. so this doesn't work until prefers-reduced-data
actually exists
*/
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
@layer outer {
* { box-sizing: border-box; }
2024-09-22 21:32:01 +02:00
2025-02-16 17:08:50 +01:00
:root, body {
min-height: 100vh;
min-height: 100lvh;
margin: 0;
scrollbar-gutter: stable;
2025-02-17 03:19:41 +01:00
cursor: url("../media/tail.png") 34 1, auto;
--pointer: url("../media/hand.png") 31 1, auto;
2024-09-22 21:32:01 +02:00
}
2024-09-04 15:31:06 +02:00
2025-02-17 03:19:41 +01:00
a { cursor: var(--pointer); }
2025-02-16 17:08:50 +01:00
:root {
font-size: large;
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
color-scheme: light dark;
color: black;
2024-09-04 15:31:06 +02:00
--gradient:
2025-02-16 17:08:50 +01:00
linear-gradient(120deg in oklch,
oklch(93% 27.1% 96deg),
oklch(84.03% 22% 15deg),
oklch(80% 29.3% 303deg),
oklch(84% 23% 233deg),
oklch(89% 25% 161deg));
--menu-bg-hsl: 60deg 100% 96%;
@media (prefers-color-scheme: dark) {
color: #ffd;
--gradient:
linear-gradient(20deg,
hsl(300deg 30% 20%),
hsl(220deg 30% 20%),
hsl(150deg 30% 20%),
hsl(30deg 30% 20%),
hsl(350deg 30% 20%));
--menu-bg-hsl: 260deg 100% 8%;
}
--shadow-hsl: 330deg 40% 40%;
2025-02-17 03:20:13 +01:00
--base-background: url(../media/church.png), var(--gradient) fixed;
2025-02-16 17:08:50 +01:00
background: var(--base-background);
font-family: Muller, sans-serif;
font-weight: 500;
2025-02-17 03:20:13 +01:00
2025-02-16 17:08:50 +01:00
@media (prefers-reduced-data: reduce) {
2025-02-17 03:20:13 +01:00
--base-background: var(--gradient) fixed;
2025-02-16 17:08:50 +01:00
font-family: sans-serif;
font-weight: normal;
}
2024-09-04 15:31:06 +02:00
}
}
2025-02-16 17:08:50 +01:00
@layer face-menu {
#face-menu {
align-self: center;
margin: 10px;
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
font-size: 125%;
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
menu {
display: flex;
place-content: center;
place-items: center;
margin: auto;
padding: 0;
2024-09-22 21:32:01 +02:00
2025-02-16 17:08:50 +01:00
flex-wrap: wrap;
justify-content: center;
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
background: hsl(var(--menu-bg-hsl) / 65%);
border: 2px solid hsl(var(--menu-bg-hsl));
box-shadow: 0 0 10px 5px hsl(var(--menu-bg-hsl) / 30%);
2025-02-16 22:40:50 +01:00
border-radius: 10px;
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
@media (prefers-reduced-transparency: reduce) {
background: hsl(var(--menu-bg-hsl));
}
}
2024-09-04 15:31:06 +02:00
2025-02-17 03:19:41 +01:00
input, label { cursor: var(--pointer); }
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
input {
appearance: none;
width: 0;
margin: 0;
padding: 0;
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
label {
padding: .25em 1.25em;
flex: 1 0 auto;
text-align: center;
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
li {
display: flex;
list-style: none;
flex: 1 0 4em;
}
}
2024-09-04 15:31:06 +02:00
}
2025-02-16 17:08:50 +01:00
@layer face-base {
2024-09-04 15:31:06 +02:00
#cube > section {
--base-background:
repeating-linear-gradient(var(--bg-angle),
transparent, transparent 0.8em,
2025-02-16 17:08:50 +01:00
#fff8 0.8em, #fff8 1em),
2025-03-12 00:26:34 +01:00
url(../media/little-pluses.png),
2024-09-04 15:31:06 +02:00
linear-gradient(150deg,
2025-03-12 00:26:34 +01:00
hsl(var(--hue) 86% 92%),
hsl(var(--hue) 66% 80%)
2024-09-04 15:31:06 +02:00
);
2025-02-16 17:08:50 +01:00
background: var(--base-background);
--border-thickness: 10px;
border: var(--border-thickness) solid white;
padding: 2em;
2025-02-16 22:40:50 +01:00
border-radius: 30px;
2025-02-16 17:08:50 +01:00
color: hsl(var(--hue) 40% 10%);
--text-shadow-color: white;
text-shadow:
1px 1px 1px var(--text-shadow-color),
-1px 1px 1px var(--text-shadow-color),
-1px -1px 1px var(--text-shadow-color),
1px -1px 1px var(--text-shadow-color);
@media (prefers-color-scheme: dark) {
--base-background:
repeating-linear-gradient(var(--bg-angle),
transparent, transparent 0.8em,
#0014 0.8em, #0014 1em),
linear-gradient(150deg,
hsl(var(--hue) 40% 30%),
hsl(var(--hue) 40% 15%)
);
border-color: hsl(var(--hue) 40% 10%);
color: hsl(var(--hue) 40% 90%);
--text-shadow-color: black;
}
scrollbar-color:
hsl(calc(var(--hue) + 180deg) 90% 60%)
hsl(var(--hue) 50% 95%);
::selection {
color: white;
background: hsl(calc(var(--hue) + 180deg), 50%, 30%);
text-shadow: none;
}
2024-09-04 15:31:06 +02:00
}
#cube a {
2025-02-16 17:08:50 +01:00
color: hsl(calc(var(--hue) + 180deg) 90% 20%);
font-weight: 600;
text-decoration: none;
&:hover {
text-decoration: underline;
text-decoration-style: dotted;
text-decoration-color: currentcolor;
text-decoration-thickness: 2px;
}
@media (prefers-color-scheme: dark) {
color: hsl(calc(var(--hue) + 180deg) 100% 85%);
}
2024-09-04 15:31:06 +02:00
}
2025-02-16 17:08:50 +01:00
h2 { margin-top: 0; }
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
h3 {
text-align: center;
margin-bottom: 0.25em;
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
h2 + section h3 { margin-top: 0; }
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
strong { font-weight: 700; }
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
.artcredit {
position: absolute;
bottom: 0;
left: 1em;
font-size: smaller;
font-style: italic;
background: hsl(var(--menu-bg-hsl) / 75%);
padding: .1em .5em;
}
2025-02-16 22:35:54 +01:00
ul { padding-left: 0; }
#cube :is(:not(.boxy) > li, .bullety dd) {
list-style: none;
&::before {
content: url(../media/point_right.svg);
vertical-align: -20%;
height: 1em;
padding-right: 0.5ex;
}
}
2024-09-04 15:31:06 +02:00
}
2025-02-16 17:08:50 +01:00
@layer faces.hello {
#hello {
--hue: 310deg;
--bg-angle: 135deg;
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
/* this one makes more sense to show if there is a paint before
* the script runs */
z-index: 1;
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
/* the quick linx */
h3 { text-align: left; }
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
--bg-image: url(../media/wave.webp);
background:
var(--bg-image) bottom right / auto 60% no-repeat,
var(--base-background);
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
@media (prefers-color-scheme: dark) {
--bg-image: url(../media/wave-neon.webp);
}
@media (prefers-reduced-data: reduce) {
--bg-image: url(../media/wave.l.webp);
}
@media (prefers-color-scheme: dark) and (prefers-reduced-data: reduce) {
--bg-image: url(../media/wave-neon.l.webp);
}
}
2024-09-04 15:31:06 +02:00
}
2025-02-16 17:08:50 +01:00
@layer faces.id {
#id {
--hue: 10deg;
--bg-angle: 45deg;
dl {
display: grid;
grid-template-columns: min-content auto;
gap: 0 2em;
}
dt { font-weight: 600; }
dd {
margin: 0 0 0 1em;
grid-column: 2 / 3;
a { font-weight: 700; }
}
dt, dt + dd { margin-top: 1em; }
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
#flags {
display: flex;
flex-flow: wrap;
justify-content: center;
gap: 1em;
margin-top: 3em;
img {
height: 2em;
border: 2px solid hsl(var(--hue) 30% 5% / 60%);
rotate: 8deg;
}
}
2024-09-04 15:31:06 +02:00
}
2025-02-16 17:08:50 +01:00
@layer faces.activities {
#activities {
--hue: 60deg;
--bg-angle: -60deg;
/* height of quobl.webp is 58% of width */
--bg-image: url(../media/quobl.webp);
background:
var(--bg-image) bottom left 2ex / 50% auto no-repeat local,
var(--base-background);
padding-bottom: 29%;
@media (prefers-color-scheme: dark) {
--bg-image: url(../media/quobl-neon.webp);
}
@media (prefers-reduced-data: reduce) {
--bg-image: url(../media/quobl.l.webp);
}
@media (prefers-color-scheme: dark) and (prefers-reduced-data: reduce) {
--bg-image: url(../media/quobl-neon.webp);
}
}
2024-09-04 15:31:06 +02:00
}
2025-02-16 17:08:50 +01:00
@layer faces.links {
#links {
--hue: 130deg;
--bg-angle: 210deg;
ul {
2025-02-16 22:39:43 +01:00
font-size: 125%;
2025-02-16 17:08:50 +01:00
padding: 0;
width: 100%;
display: flex;
flex-wrap: wrap;
2025-02-16 22:39:43 +01:00
gap: 0.5ex;
2025-02-16 17:08:50 +01:00
}
li {
2025-02-16 22:39:43 +01:00
flex: 1 0 40%;
2025-02-16 17:08:50 +01:00
list-style: none;
}
a {
height: 3em;
padding-left: calc(3em + 1ex);
display: flex;
align-items: center;
border: 2px solid black;
background:
linear-gradient(to right, transparent 3em, var(--bg) 3em),
2025-02-16 22:39:43 +01:00
var(--icon) 0.5em center / 2em auto no-repeat,
2025-02-16 17:08:50 +01:00
var(--icon-bg);
2025-02-16 22:40:50 +01:00
border-radius: 10px;
2025-02-16 17:08:50 +01:00
color: var(--fg);
text-shadow: none;
&:hover { text-decoration: none; }
}
}
2024-09-04 15:31:06 +02:00
2025-02-16 22:39:43 +01:00
/* (overridable default) */
@layer { #links li { --icon-bg: var(--fg); } }
2025-02-16 17:08:50 +01:00
#gallery {
--icon: url(../media/favicon.webp);
--fg: hsl(280deg 38% 43%);
--bg: hsl(100deg 99% 81%);
image-rendering: pixelated;
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
#code {
--icon: url(../media/icons/forgejo.svg);
--fg: white;
--icon-bg: #171e26;
--bg: #c2410c;
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
#blog {
--icon: url(../media/icons/blog.webp);
--fg: #ffeebb;
--bg: #332255;
2025-02-16 22:39:43 +01:00
image-rendering: pixelated;
2025-02-16 17:08:50 +01:00
a {
background-position: center, left calc(1.5em - 51px) center, center;
background-size: contain;
}
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
#itaku {
--icon: url(../media/icons/itaku.svg);
--fg: #ffeb3b;
--bg: #303030;
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
#weasyl {
--icon: url(../media/icons/weasyl.svg);
--fg: white;
--bg: #970000;
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
#fa {
--icon: url(../media/icons/furaffinity.webp);
--icon-bg: #20242a;
--bg: #353b45;
--fg: white;
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
#da {
--icon: url(../media/icons/deviantart.webp);
--icon-bg: #000608;
--bg: #314537;
--fg: #e7ede4;
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
#kofi {
--icon: url(../media/icons/ko-fi.webp);
--icon-bg: #def3ff;
--bg: white;
--fg: #ff5966;
2024-09-04 15:31:06 +02:00
}
2025-02-16 17:08:50 +01:00
#artfight {
--icon: url(../media/icons/artfight.webp);
--icon-bg: #222222;
--bg: #a65178;
--fg: white;
2024-09-04 15:31:06 +02:00
}
2025-02-16 17:08:50 +01:00
#chitter {
--icon: url(../media/icons/chitter.webp);
--bg: #582c58;
--icon-bg: #2c162c;
--fg: white;
2024-09-04 15:31:06 +02:00
}
2025-02-16 17:08:50 +01:00
#bluesky {
--icon: url(../media/icons/bluesky.svg);
2024-09-04 15:31:06 +02:00
--bg: #161e27;
--fg: white;
}
2025-02-16 17:08:50 +01:00
@media (prefers-color-scheme: dark) {
/* most link colours are fine in both modes. except: */
#gallery {
--icon-bg: hsl(280deg 42% 30%);
--bg: hsl(280deg 38% 43%);
--fg: hsl(100deg 99% 81%);
}
#weasyl {
--icon-bg: #252d32;
}
#kofi {
--icon-bg: #2b3a44;
--bg: #192025;
--fg: #dce7eb;
}
#bluesky {
--bg: #161e27;
--icon-bg: #1e2936;
--fg: white;
}
}
2024-09-04 15:31:06 +02:00
}
2025-02-16 17:08:50 +01:00
@layer faces.friends {
#friends {
--hue: 190deg;
--bg-angle: 300deg;
display: grid;
grid: "hdr" min-content
"links1" auto
"links2" auto
"buttons" auto;
img { image-rendering: pixelated; }
> section {
align-self: start;
ul {
list-style: none;
padding: 0;
display: flex;
width: 80%;
margin: 0 auto;
align-items: start;
gap: 0;
justify-content: center;
flex-wrap: wrap;
}
img {
width: 88px;
height: 31px;
object-fit: none;
display: block;
}
}
.txt {
display: inline-block;
width: 88px;
height: 31px;
border: 3px outset currentcolor;
text-align: center;
line-height: 28px;
font-size: 18px;
font-weight: 600;
text-shadow: none;
}
a:hover { text-decoration: none; }
}
2024-09-04 15:31:06 +02:00
2025-02-16 17:08:50 +01:00
#khr a { background: #ffab71; color: #71153e; }
#ionchy a { background: #feca2f; color: #1b1505; }
#tenna a { background: #6095da; color: #243224; }
#river a { background: #98d8e7; color: #d67d28; }
#spiral a { background: #ef4d5a; color: #1f1f1f; }
#codl a { background: #87261f; color: #edb970; }
#violet a { background: #8c2bd8; color: #dddddd; }
#brin a { background: #1e1e1e; color: #ff4400; }
#konsti a { background: #060038; color: #ffcccc; }
#lena a { background: #e3ccf7; color: #000000; }
#serena a { background: #e787ad; color: #204; }
#deneb a { background: #540f00; color: #ee6bfa; }
#nissbuttons {
margin: 2em auto 0;
align-self: end;
display: flex;
align-items: center;
justify-content: center;
gap: 1em;
h3 {
margin: 0;
font-size: 1rem;
font-weight: 500;
text-align: right;
text-wrap: balance;
}
}
}
2025-02-16 17:08:50 +01:00
@layer faces.six {
2025-02-17 03:20:07 +01:00
#six {
2025-02-16 17:08:50 +01:00
--hue: 250deg;
--bg-angle: 130deg;
--bg-image: url(../media/kesi.webp);
background:
var(--bg-image) bottom right / 100% auto no-repeat,
var(--base-background);
@media (prefers-color-scheme: dark) {
--bg-image: url(../media/kesi-neon.webp);
}
@media (prefers-reduced-data: reduce) {
--bg-image: url(../media/kesi.l.webp);
}
@media (prefers-color-scheme: dark) and (prefers-reduced-data: reduce) {
--bg-image: url(../media/kesi-neon.l.webp);
}
}
2024-09-04 15:31:06 +02:00
}