185 lines
5.1 KiB
CSS
185 lines
5.1 KiB
CSS
@import url(/fonts/muller/muller.css);
|
|
|
|
@property --transition {
|
|
syntax: "*";
|
|
inherits: true;
|
|
initial-value: none;
|
|
}
|
|
|
|
* { box-sizing: border-box; }
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
* { transition: none; }
|
|
}
|
|
|
|
@keyframes swap {
|
|
0% { transform: none; }
|
|
49% { transform: translateX(-150vw); }
|
|
50% { content-visibility: hidden; }
|
|
51% { transform: translateX(150vw); content-visibility: visible; }
|
|
100% { transform: none; }
|
|
}
|
|
|
|
@keyframes fade-in {
|
|
from { opacity: 0 }
|
|
to { opacity: 1 }
|
|
}
|
|
|
|
:root {
|
|
--hue: 300;
|
|
--c-hue: calc(180 + var(--hue));
|
|
min-height: 100vh; display: flex;
|
|
align-items: center; justify-content: center;
|
|
|
|
--font: Muller, sans-serif;
|
|
font-family: var(--font);
|
|
|
|
color-scheme: light dark;
|
|
background: oklch(0.9 0.08 var(--hue));
|
|
transition: background 0.4s ease;
|
|
|
|
width: 100vw;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
:root { background: oklch(0.3 0.12 var(--hue)); }
|
|
}
|
|
|
|
#pic-holder, #pic, #pic2 {
|
|
width: min(1000px, 75vw);
|
|
margin: auto;
|
|
aspect-ratio: 2000/1346;
|
|
}
|
|
|
|
#pic-holder { position: relative; }
|
|
#pic, #pic2 { position: absolute; inset: 0; }
|
|
|
|
#pic2 {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
|
|
#front .static { background: url(ufront/static.png) 0 0 / contain; }
|
|
#back .static { background: url(uback/static.png) 0 0 / contain; }
|
|
|
|
.spines { background: oklch(30.77% 0.1306 298.19); }
|
|
#front .spines { mask-image: url(ufront/spines.png); }
|
|
#back .spines { mask-image: url(uback/spines.png); }
|
|
|
|
.stripes { background: oklch(88.2% 0.0613 209.07); }
|
|
#front .stripes { mask-image: url(ufront/stripes.png); }
|
|
#back .stripes { mask-image: url(uback/stripes.png); }
|
|
|
|
.cuffs { background: oklch(72.74% 0.1008 225.69); }
|
|
#front .cuffs { mask-image: url(ufront/cuffs.png); }
|
|
#back .cuffs { mask-image: url(uback/cuffs.png); }
|
|
|
|
.outer { background: oklch(38.37% 0.1437 306.27); }
|
|
#front .outer { mask-image: url(ufront/outer.png); }
|
|
#back .outer { mask-image: url(uback/outer.png); }
|
|
|
|
.fins1 { background: oklch(85.06% 0.0961 81.4); }
|
|
#front .fins1 { mask-image: url(ufront/fins1.png); }
|
|
#back .fins1 { mask-image: url(uback/fins1.png); }
|
|
|
|
.fins2 { background: oklch(79.59% 0.1208 73.56); }
|
|
#front .fins2 { mask-image: url(ufront/fins2.png); }
|
|
#back .fins2 { mask-image: url(uback/fins2.png); }
|
|
|
|
.fins3 { background: oklch(74.11% 0.1268 64.62); }
|
|
#front .fins3 { mask-image: url(ufront/fins3.png); }
|
|
#back .fins3 { mask-image: url(uback/fins3.png); }
|
|
|
|
.belly1 { background: oklch(87.26% 0.0699 80.94); }
|
|
#front .belly1 { mask-image: url(ufront/belly1.png); }
|
|
#back .belly1 { mask-image: url(uback/belly1.png); }
|
|
|
|
.belly2 { background: oklch(76.92% 0.0954 58.36); }
|
|
#front .belly2 { mask-image: url(ufront/belly2.png); }
|
|
#back .belly2 { mask-image: url(uback/belly2.png); }
|
|
|
|
.eyes { background: oklch(36.26% 0.1107 145.78); }
|
|
#front .eyes { mask-image: url(ufront/eyes.png); }
|
|
#back .eyes { mask-image: url(uback/eyes.png); }
|
|
|
|
.masks { background: oklch(77.1% 0.0243 317.12); }
|
|
#front .masks { mask-image: url(ufront/masks.png); }
|
|
#back .masks { mask-image: url(uback/masks.png); }
|
|
|
|
.claws { background: oklch(88.92% 0.0207 325.75); }
|
|
#front .claws { mask-image: url(ufront/claws.png); }
|
|
#back .claws { mask-image: url(uback/claws.png); }
|
|
|
|
.vitiligo1 { background: oklch(79.4% 0.0588 309.27); }
|
|
#front .vitiligo1 { mask-image: url(ufront/vitiligo1.png); }
|
|
#back .vitiligo1 { mask-image: url(uback/vitiligo1.png); }
|
|
|
|
.vitiligo2 { background: oklch(93.14% 0.0331 83.71); }
|
|
#front .vitiligo2 { mask-image: url(ufront/vitiligo2.png); }
|
|
#back .vitiligo2 { mask-image: url(uback/vitiligo2.png); }
|
|
|
|
.vitiligo3 { background: oklch(95.7% 0.0296 94.35); }
|
|
#front .vitiligo3 { mask-image: url(ufront/vitiligo3.png); }
|
|
#back .vitiligo3 { mask-image: url(uback/vitiligo3.png); }
|
|
|
|
.vitiligo4 { background: oklch(95.7% 0.0296 94.35); }
|
|
#front .vitiligo4 { mask-image: url(ufront/vitiligo4.png); }
|
|
#back .vitiligo4 { mask-image: url(uback/vitiligo4.png); }
|
|
|
|
.lines { background: oklch(21.96% 0.0661 296.36); }
|
|
#front .lines { mask-image: url(ufront/lines.png); }
|
|
#back .lines { mask-image: url(uback/lines.png); }
|
|
|
|
.eye-shine { mask: none; mix-blend-mode: luminosity; }
|
|
#front .eye-shine { background: url(ufront/eyes.png) 0 0 / contain; }
|
|
#back .eye-shine { background: url(uback/eyes.png) 0 0 / contain; }
|
|
|
|
|
|
#buttons {
|
|
margin-top: 3rem;
|
|
display: flex; gap: 20px;
|
|
z-index: -1;
|
|
}
|
|
|
|
button {
|
|
--fg: var(--c-hue);
|
|
--bg: var(--hue);
|
|
font: 700 25pt var(--font);
|
|
flex: 30%;
|
|
background: oklch(0.5 0.2 var(--bg));
|
|
color: oklch(0.95 0.075 var(--fg));
|
|
border: 3px solid oklch(0.2 0.05 var(--bg));
|
|
padding: 0.2em 0.5em;
|
|
box-shadow: 6px 6px 2px oklch(0.4 0.2 var(--bg) / 0.45);
|
|
transition:
|
|
color 0.4s ease,
|
|
background 0.4s ease,
|
|
border 0.4s ease,
|
|
translate 0.025s ease-in,
|
|
box-shadow 0.025s ease-in;
|
|
|
|
:root:not([data-running]) &:active,
|
|
[data-running=swap] &#swap,
|
|
[data-running=reroll] &#reroll {
|
|
translate: 6px 6px;
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
nav {
|
|
position: absolute;
|
|
bottom: 15px; left: 22px;
|
|
}
|
|
|
|
nav a {
|
|
color: oklch(0.4 0.15 var(--c-hue));
|
|
text-decoration: 3px solid underline;
|
|
text-decoration-color:
|
|
oklch(0.6 0.1 var(--c-hue));
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark) {
|
|
nav a { color: oklch(0.9 0.19 var(--c-hue)); }
|
|
}
|