diff --git a/media/blackhole.png b/media/blackhole.png new file mode 100644 index 0000000..3cbdbf6 --- /dev/null +++ b/media/blackhole.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da17a1a2933d19b55a05c4a2783d3298da7226bb09317600de2c3f119d0cdf6b +size 330723 diff --git a/media/hand.2x.png b/media/hand.2x.png new file mode 100644 index 0000000..1549507 --- /dev/null +++ b/media/hand.2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be8a350c7207d7bfee2aaf5e388d8a7e89ea5128839e2025f0afa6e806392939 +size 814 diff --git a/media/hand.png b/media/hand.png new file mode 100644 index 0000000..81f2e25 --- /dev/null +++ b/media/hand.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6449d5d6a5dfcbeaca03ac7acab4bff1f75245efad192d5a5aa2517100f9b9c +size 689 diff --git a/media/tail.2x.png b/media/tail.2x.png new file mode 100644 index 0000000..10ec72f --- /dev/null +++ b/media/tail.2x.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74de54cfd9a1795a6da3f9caab5ea019d87085af7dae59af329b713a0165c9a2 +size 1222 diff --git a/media/tail.png b/media/tail.png new file mode 100644 index 0000000..3231886 --- /dev/null +++ b/media/tail.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c31db8a6e7270e45216a105c20372726760805b79717bf8850607fed6a012938 +size 1001 diff --git a/script/cube.ts b/script/cube.ts index 07d5627..93a8454 100644 --- a/script/cube.ts +++ b/script/cube.ts @@ -218,8 +218,8 @@ export function animateMoveWith(ds: RotateXY[], rs: RotateZ[]): void { const cube = document.getElementById('cube')!; cube.dataset.moving = 'true'; - cube.style.transition = '0.4s cubic-bezier(.4, -0.29, .43, 1.26)'; - outer.style.transition = `0.4s 0.25s cubic-bezier(.48, 0, .44, 1.07)`; + cube.style.transition = '0.6s cubic-bezier(.4, -0.29, .43, 1.26)'; + outer.style.transition = `0.4s 0.5s cubic-bezier(.48, 0, .44, 1.07)`; function transitionListener(elem: HTMLElement): () => void { function handler(e: Event) { if (e.target == elem) { finish(); } } diff --git a/style/base.css b/style/base.css index 02b4d41..1f9416d 100644 --- a/style/base.css +++ b/style/base.css @@ -21,8 +21,17 @@ actually exists min-height: 100lvh; margin: 0; scrollbar-gutter: stable; + + cursor: + image-set("../media/tail.png" 1x, "../media/tail.2x.png" 2x) 34 1, + auto; + --pointer: + image-set("../media/hand.png" 1x, "../media/hand.2x.png" 2x) 31 1, + auto; } + a { cursor: var(--pointer); } + :root { font-size: large; @@ -50,12 +59,14 @@ actually exists } --shadow-hsl: 330deg 40% 40%; - --base-background: var(--gradient) fixed; + --base-background: url(../media/church.png), var(--gradient) fixed; background: var(--base-background); font-family: Muller, sans-serif; font-weight: 500; + @media (prefers-reduced-data: reduce) { + --base-background: var(--gradient) fixed; font-family: sans-serif; font-weight: normal; } @@ -90,7 +101,7 @@ actually exists } } - input, label { cursor: pointer; } + input, label { cursor: var(--pointer); } input { appearance: none; @@ -536,7 +547,7 @@ actually exists } @layer faces.six { - #six, #six ::selection { + #six { --hue: 250deg; --bg-angle: 130deg; diff --git a/style/cube.css b/style/cube.css index aa3a350..a1ea141 100644 --- a/style/cube.css +++ b/style/cube.css @@ -114,7 +114,7 @@ #cube { position: relative; - > section { + > section, &::after { position: absolute; inset: 5vh 5vw; overflow: auto; @@ -128,6 +128,14 @@ } } + #outer::after { + content: ' '; + position: absolute; + inset: 0; + background: url(../media/blackhole.png) center / 60% no-repeat; + transform: translateZ(var(--nhalf)); + } + @keyframes breathe { 40% { transform: var(--base-transform) translateZ(var(--breathe)); } } diff --git a/style/flat.css b/style/flat.css index b359c65..27b5a52 100644 --- a/style/flat.css +++ b/style/flat.css @@ -118,3 +118,5 @@ } } } + +} /* (the media query) */ diff --git a/style/properties.css b/style/properties.css index 0a3c261..a3fefe4 100644 --- a/style/properties.css +++ b/style/properties.css @@ -1,3 +1,9 @@ +@property --base-background { + syntax: "*"; + inherits: false; + initial-value: transparent; +} + /* face backgrounds */ @property --hue {