diff --git a/.gitattributes b/.gitattributes
index 0644d84..159d236 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,4 +1,4 @@
*.png filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
-*.webp filter=lfs diff=lfs merge=lfs -text
-*.kra filter=lfs diff=lfs merge=lfs -text
+*.mp3 filter=lfs diff=lfs merge=lfs -text
+*.ogg filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
index 56934af..67f2444 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,3 @@
-style/fonts/**/*.eot
-style/fonts/**/*.svg
-style/fonts/**/*.ttf
-style/fonts/**/*.woff
-style/fonts/**/*.woff2
fonts/**/*.eot
fonts/**/*.svg
fonts/**/*.ttf
@@ -11,4 +6,3 @@ fonts/**/*.woff2
_build
_tmp
.directory
-*~
diff --git a/.well-known/button.json b/.well-known/button.json
deleted file mode 100644
index 6220bf4..0000000
--- a/.well-known/button.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "$schema": "https://codeberg.org/LunarEclipse/well-known-button/raw/branch/main/drafts/button-2024-06.schema.json",
- "default": "ce20aa64-4e95-11ef-b42c-838186663ff7",
- "buttons": [
- {
- "id": "ce20aa64-4e95-11ef-b42c-838186663ff7",
- "uri": "https://yummy.cricket/8831.png",
- "alt": "the gec zone",
- "link": "https://yummy.cricket",
- "sha256": "1357dc055ec9bcae24826a689a72d6245779b7aac7f6256c2ee2a102233de0af",
- "animations": "none"
- },
- {
- "id": "220a360e-4e96-11ef-bf9c-0b97c65ca05d",
- "uri": "https://yummy.cricket/8831-quox.png",
- "alt": "the quog zone",
- "link": "https://yummy.cricket",
- "sha256": "89ab02e44093ce81bb02cdfb5c743a83db4f1faad161d2f1aacbf519635915ba",
- "animations": "none"
- }
- ]
-}
diff --git a/8831-quox.png b/8831-quox.png
deleted file mode 100644
index e1b0099..0000000
--- a/8831-quox.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:89ab02e44093ce81bb02cdfb5c743a83db4f1faad161d2f1aacbf519635915ba
-size 2463
diff --git a/8831.png b/8831.png
deleted file mode 100644
index f147368..0000000
--- a/8831.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1357dc055ec9bcae24826a689a72d6245779b7aac7f6256c2ee2a102233de0af
-size 13083
diff --git a/ANGELF~1.CSS b/ANGELF~1.CSS
new file mode 100644
index 0000000..ec3101c
--- /dev/null
+++ b/ANGELF~1.CSS
@@ -0,0 +1,112 @@
+:root {
+ font: 18pt serif;
+ color: white;
+ background: url(NEWFOL~1/GEC.JPG);
+}
+
+main {
+ width: 30em;
+ padding: 1rem;
+ margin: 1rem auto;
+ border: 8px outset white;
+ background: #639;
+}
+
+
+header, h1, h2, h3 { text-align: center; }
+h1 { margin-top: 0; }
+header { overflow: hidden; }
+
+@media not (prefers-reduced-motion) {
+ @keyframes marquee {
+ from { transform: translateX(100%); }
+ to { transform: translateX(-100%); }
+ }
+
+ h1 {
+ animation-name: marquee;
+ animation-timing-function: linear;
+ animation-duration: 7.5s;
+ animation-iteration-count: infinite;
+ }
+}
+
+
+#mlemtext {
+ position: relative;
+ width: 80%;
+ margin: 0 auto;
+ height: 3em;
+}
+.niss, .nisse { position: absolute }
+.niss { left: 0 }
+.nisse { right: 0 }
+
+header picture, header img {
+ display: block;
+ margin: 0 auto;
+ bacground: black;
+}
+
+#mlem + p { margin-top: 0; }
+
+
+img[src$='.svg'] { height: 1em; }
+
+a {
+ color: #9cf;
+ font-weight: bold;
+ text-decoration: none;
+}
+
+table {
+ width: 80%;
+ border-spacing: 0.75em 0.15em ;
+}
+
+th {
+ text-align: right;
+ font-weight: normal;
+}
+td {
+ font-weight: bold;
+}
+
+
+@font-face {
+ font-family: 'W95FA';
+ src: url(NEWFOL~1/W95FA.otf) format('opentype'),
+ url(NEWFOL~1/w95fa.woff) format('woff'),
+ url(NEWFOL~1/w95fa.woff2) format('woff2');
+}
+
+#links {
+ position: absolute;
+ top: 0; left: 0;
+ font-family: 'W95FA', sans-serif;
+ font-size: 13pt;
+ padding: 1rem;
+}
+
+#links li {
+ display: block;
+ width: 5em;
+ text-align: center;
+ margin-bottom: 1em;
+}
+
+#links img {
+ display: block;
+ margin: auto;
+}
+
+#links a {
+ font-weight: normal;
+ color: white;
+ text-decoration: none;
+}
+
+#links span {
+ background: black;
+ padding: 0 0.25ch;
+}
diff --git a/ANGELF~1.HTM b/ANGELF~1.HTM
new file mode 100644
index 0000000..ca72e68
--- /dev/null
+++ b/ANGELF~1.HTM
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
š¦ the gec zone š¦
+
+
+
+
+
+
+
+ stats
+
+
+ how to say
+
+ /nIs/, /nIs@/
+
+
+
+ (listen )
+
+
+ (listen )
+
+
+ prons she or they
+ quantity 2
+ consistency soft
+ limbs many
+ energy
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Makefile b/Makefile
index b05d476..f54ce11 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,16 @@
-CSS = $(wildcard style/*.css) $(shell find fonts -type f)
-PAGES = index.html pubkey.txt
-MEDIA = \
- $(wildcard media/*.png) $(wildcard media/*.gif) $(wildcard media/*.webp) \
- $(wildcard media/flags/*) $(wildcard media/buttons/*) \
- $(wildcard media/icons/*) $(wildcard media/bg/*) 8831.png 8831-quox.png
-SCRIPTS = $(patsubst %.ts,%.js,$(wildcard script/*.ts))
-MISC = $(shell find .well-known -type f)
-ALL = $(CSS) $(PAGES) $(MEDIA) $(SCRIPTS) $(MISC)
+FONTS = $(shell find fonts -type f)
+CSS = base.css index.css where.css comms.css ANGELF~1.CSS id.css
+PAGES = index.html where.html comms.html ANGELF~1.HTM pubkey.txt id.html
+MEDIA = $(patsubst %,media/%, \
+ bg.png bg_2x.png bg_dim.png bg_2x_dim.png kesi.png quoxtrans.png \
+ mlem.gif mlem_static.png chitter.png lockpen.png \
+ quobl.png quobl2.png \
+ ) \
+ $(wildcard media/*.svg) $(wildcard media/flags/*)
+AFMEDIA = $(patsubst %,NEWFOL~1/%, \
+ GEC.JPG PBRUSH.GIF PROGRAM.GIF QUESTION.GIF MAIL.GIF LOWBATT.GIF \
+ W95FA.otf w95fa.woff w95fa.woff2 \
+ )
BUILDDIR ?= _build
TMPDIR ?= _tmp
@@ -18,7 +22,7 @@ REMOTE_DIR ?= yummy
all: build
-build: $(patsubst %,$(BUILDDIR)/%,$(ALL))
+build: $(patsubst %,$(BUILDDIR)/%,$(FONTS) $(CSS) $(PAGES) $(MEDIA) $(AFMEDIA))
upload: build
@rsync --recursive --partial --progress --copy-links \
@@ -53,11 +57,10 @@ $(BUILDDIR)/%_dim.png: %.png
@echo $(notdir $@)
@convert -channel A -evaluate Multiply 0.75 $< $@
-$(BUILDDIR)/%.js: %.ts
- tsc --strict --noUncheckedIndexedAccess --noEmitOnError \
- --lib dom,es2021 --target es2015 \
- --outDir $(dir $@) $^
-
+$(BUILDDIR)/%.GIF: %.ICO
+ @echo $*.GIF
+ @mkdir -p $(dir $@)
+ @convert '$<[0]' $@
clean:
$(RM) -r $(TMPDIR) $(BUILDDIR)
diff --git a/NEWFOL~1/256.gpl b/NEWFOL~1/256.gpl
new file mode 100644
index 0000000..3f1c704
--- /dev/null
+++ b/NEWFOL~1/256.gpl
@@ -0,0 +1,259 @@
+GIMP Palette
+Name: 256
+Columns: 8
+0 0 0 color 0
+0 0 85 color 1
+0 0 170 color 2
+0 0 255 color 3
+0 36 0 color 4
+0 36 85 color 5
+0 36 170 color 6
+0 36 255 color 7
+0 72 0 color 8
+0 72 85 color 9
+0 72 170 color 10
+0 72 255 color 11
+0 109 0 color 12
+0 109 85 color 13
+0 109 170 color 14
+0 109 255 color 15
+0 145 0 color 16
+0 145 85 color 17
+0 145 170 color 18
+0 145 255 color 19
+0 182 0 color 20
+0 182 85 color 21
+0 182 170 color 22
+0 182 255 color 23
+0 218 0 color 24
+0 218 85 color 25
+0 218 170 color 26
+0 218 255 color 27
+0 255 0 color 28
+0 255 85 color 29
+0 255 170 color 30
+0 255 255 color 31
+36 0 0 color 32
+36 0 85 color 33
+36 0 170 color 34
+36 0 255 color 35
+36 36 0 color 36
+36 36 85 color 37
+36 36 170 color 38
+36 36 255 color 39
+36 72 0 color 40
+36 72 85 color 41
+36 72 170 color 42
+36 72 255 color 43
+36 109 0 color 44
+36 109 85 color 45
+36 109 170 color 46
+36 109 255 color 47
+36 145 0 color 48
+36 145 85 color 49
+36 145 170 color 50
+36 145 255 color 51
+36 182 0 color 52
+36 182 85 color 53
+36 182 170 color 54
+36 182 255 color 55
+36 218 0 color 56
+36 218 85 color 57
+36 218 170 color 58
+36 218 255 color 59
+36 255 0 color 60
+36 255 85 color 61
+36 255 170 color 62
+36 255 255 color 63
+72 0 0 color 64
+72 0 85 color 65
+72 0 170 color 66
+72 0 255 color 67
+72 36 0 color 68
+72 36 85 color 69
+72 36 170 color 70
+72 36 255 color 71
+72 72 0 color 72
+72 72 85 color 73
+72 72 170 color 74
+72 72 255 color 75
+72 109 0 color 76
+72 109 85 color 77
+72 109 170 color 78
+72 109 255 color 79
+72 145 0 color 80
+72 145 85 color 81
+72 145 170 color 82
+72 145 255 color 83
+72 182 0 color 84
+72 182 85 color 85
+72 182 170 color 86
+72 182 255 color 87
+72 218 0 color 88
+72 218 85 color 89
+72 218 170 color 90
+72 218 255 color 91
+72 255 0 color 92
+72 255 85 color 93
+72 255 170 color 94
+72 255 255 color 95
+109 0 0 color 96
+109 0 85 color 97
+109 0 170 color 98
+109 0 255 color 99
+109 36 0 color 100
+109 36 85 color 101
+109 36 170 color 102
+109 36 255 color 103
+109 72 0 color 104
+109 72 85 color 105
+109 72 170 color 106
+109 72 255 color 107
+109 109 0 color 108
+109 109 85 color 109
+109 109 170 color 110
+109 109 255 color 111
+109 145 0 color 112
+109 145 85 color 113
+109 145 170 color 114
+109 145 255 color 115
+109 182 0 color 116
+109 182 85 color 117
+109 182 170 color 118
+109 182 255 color 119
+109 218 0 color 120
+109 218 85 color 121
+109 218 170 color 122
+109 218 255 color 123
+109 255 0 color 124
+109 255 85 color 125
+109 255 170 color 126
+109 255 255 color 127
+145 0 0 color 128
+145 0 85 color 129
+145 0 170 color 130
+145 0 255 color 131
+145 36 0 color 132
+145 36 85 color 133
+145 36 170 color 134
+145 36 255 color 135
+145 72 0 color 136
+145 72 85 color 137
+145 72 170 color 138
+145 72 255 color 139
+145 109 0 color 140
+145 109 85 color 141
+145 109 170 color 142
+145 109 255 color 143
+145 145 0 color 144
+145 145 85 color 145
+145 145 170 color 146
+145 145 255 color 147
+145 182 0 color 148
+145 182 85 color 149
+145 182 170 color 150
+145 182 255 color 151
+145 218 0 color 152
+145 218 85 color 153
+145 218 170 color 154
+145 218 255 color 155
+145 255 0 color 156
+145 255 85 color 157
+145 255 170 color 158
+145 255 255 color 159
+182 0 0 color 160
+182 0 85 color 161
+182 0 170 color 162
+182 0 255 color 163
+182 36 0 color 164
+182 36 85 color 165
+182 36 170 color 166
+182 36 255 color 167
+182 72 0 color 168
+182 72 85 color 169
+182 72 170 color 170
+182 72 255 color 171
+182 109 0 color 172
+182 109 85 color 173
+182 109 170 color 174
+182 109 255 color 175
+182 145 0 color 176
+182 145 85 color 177
+182 145 170 color 178
+182 145 255 color 179
+182 182 0 color 180
+182 182 85 color 181
+182 182 170 color 182
+182 182 255 color 183
+182 218 0 color 184
+182 218 85 color 185
+182 218 170 color 186
+182 218 255 color 187
+182 255 0 color 188
+182 255 85 color 189
+182 255 170 color 190
+182 255 255 color 191
+218 0 0 color 192
+218 0 85 color 193
+218 0 170 color 194
+218 0 255 color 195
+218 36 0 color 196
+218 36 85 color 197
+218 36 170 color 198
+218 36 255 color 199
+218 72 0 color 200
+218 72 85 color 201
+218 72 170 color 202
+218 72 255 color 203
+218 109 0 color 204
+218 109 85 color 205
+218 109 170 color 206
+218 109 255 color 207
+218 145 0 color 208
+218 145 85 color 209
+218 145 170 color 210
+218 145 255 color 211
+218 182 0 color 212
+218 182 85 color 213
+218 182 170 color 214
+218 182 255 color 215
+218 218 0 color 216
+218 218 85 color 217
+218 218 170 color 218
+218 218 255 color 219
+218 255 0 color 220
+218 255 85 color 221
+218 255 170 color 222
+218 255 255 color 223
+255 0 0 color 224
+255 0 85 color 225
+255 0 170 color 226
+255 0 255 color 227
+255 36 0 color 228
+255 36 85 color 229
+255 36 170 color 230
+255 36 255 color 231
+255 72 0 color 232
+255 72 85 color 233
+255 72 170 color 234
+255 72 255 color 235
+255 109 0 color 236
+255 109 85 color 237
+255 109 170 color 238
+255 109 255 color 239
+255 145 0 color 240
+255 145 85 color 241
+255 145 170 color 242
+255 145 255 color 243
+255 182 0 color 244
+255 182 85 color 245
+255 182 170 color 246
+255 182 255 color 247
+255 218 0 color 248
+255 218 85 color 249
+255 218 170 color 250
+255 218 255 color 251
+255 255 0 color 252
+255 255 85 color 253
+255 255 170 color 254
+255 255 255 color 255
diff --git a/NEWFOL~1/GEC.JPG b/NEWFOL~1/GEC.JPG
new file mode 100644
index 0000000..185a17f
Binary files /dev/null and b/NEWFOL~1/GEC.JPG differ
diff --git a/NEWFOL~1/LOWBATT.ICO b/NEWFOL~1/LOWBATT.ICO
new file mode 100644
index 0000000..58a32c2
Binary files /dev/null and b/NEWFOL~1/LOWBATT.ICO differ
diff --git a/NEWFOL~1/MAIL.ICO b/NEWFOL~1/MAIL.ICO
new file mode 100644
index 0000000..fdc1839
Binary files /dev/null and b/NEWFOL~1/MAIL.ICO differ
diff --git a/NEWFOL~1/PBRUSH.ICO b/NEWFOL~1/PBRUSH.ICO
new file mode 100644
index 0000000..063b154
Binary files /dev/null and b/NEWFOL~1/PBRUSH.ICO differ
diff --git a/NEWFOL~1/PROGRAM.ICO b/NEWFOL~1/PROGRAM.ICO
new file mode 100644
index 0000000..6d1cd55
Binary files /dev/null and b/NEWFOL~1/PROGRAM.ICO differ
diff --git a/NEWFOL~1/QUESTION.ICO b/NEWFOL~1/QUESTION.ICO
new file mode 100644
index 0000000..5177ea4
Binary files /dev/null and b/NEWFOL~1/QUESTION.ICO differ
diff --git a/NEWFOL~1/W95FA.otf b/NEWFOL~1/W95FA.otf
new file mode 100644
index 0000000..153077a
Binary files /dev/null and b/NEWFOL~1/W95FA.otf differ
diff --git a/NEWFOL~1/gec.kra b/NEWFOL~1/gec.kra
new file mode 100644
index 0000000..a48ec7b
Binary files /dev/null and b/NEWFOL~1/gec.kra differ
diff --git a/NEWFOL~1/w95fa.woff b/NEWFOL~1/w95fa.woff
new file mode 100644
index 0000000..433ece2
Binary files /dev/null and b/NEWFOL~1/w95fa.woff differ
diff --git a/NEWFOL~1/w95fa.woff2 b/NEWFOL~1/w95fa.woff2
new file mode 100644
index 0000000..730ddc4
Binary files /dev/null and b/NEWFOL~1/w95fa.woff2 differ
diff --git a/base.css b/base.css
new file mode 100644
index 0000000..44eece4
--- /dev/null
+++ b/base.css
@@ -0,0 +1,225 @@
+@import url(fonts/muller/muller.css);
+@import url(fonts/noto/noto.css);
+
+:root {
+ /*
+ --gradient:
+ linear-gradient(135deg,
+ hsl(42deg, 92%, 70%),
+ hsl(348deg, 92%, 70%),
+ hsl(334deg, 100%, 80%),
+ hsl(234deg, 100%, 76%),
+ hsl(195deg, 100%, 67%),
+ hsl(155deg, 70%, 62%)
+ );
+ */
+
+ --gradient:
+ linear-gradient(135deg,
+ oklch(93% 0.16 86),
+ oklch(84% 0.17 15),
+ oklch(78% 0.18 304),
+ oklch(78% 0.18 233),
+ oklch(78% 0.18 162)
+ );
+ --size: 15pt;
+ --weight: 600;
+ --link-color: hsl(196deg, 100%, 85%);
+ --hover-color: hsl(50deg, 100%, 82%);
+
+ background:
+ image-set(url(media/bg.png) 1x,
+ url(media/bg_2x.png) 2x)
+ top center fixed,
+ var(--gradient) fixed;
+ background-blend-mode: overlay;
+
+ font-family: 'Muller';
+ font-size: var(--size);
+ font-weight: var(--weight);
+ color: white;
+ text-shadow:
+ 1px 1px 0 black,
+ -1px 1px 0 black,
+ 1px -1px 0 black,
+ -1px -1px 0 black,
+ 4px 4px 4px hsla(0, 0%, 0%, 70%);
+ text-align: center;
+ margin: 2em 1em 0.5em;
+}
+
+main {
+ --default-bg: hsla(316deg, 100%, 95%, 45%);
+ background: var(--default-bg);
+ border-radius: 2em;
+ --glow-col: hsla(318deg, 100%, 98%, 100%);
+ border: 1px solid var(--glow-col);
+ box-shadow: 0 0 25px var(--glow-col) inset;
+
+ padding: 1em;
+ margin: 0 auto 1em;
+}
+
+header p, h1, h2, h3, h4, h5, h6 {
+ font-weight: 700;
+ margin-top: 0;
+}
+
+h1 {
+ font-size: 200%;
+}
+
+h2, header p {
+ font-size: 150%;
+}
+
+b {
+ font-weight: 800;
+}
+
+hr {
+ height: 4px;
+ width: 75%;
+ background-color: hsla(0, 0%, 100%, 85%);
+ box-shadow: 0 0 3px hsl(0, 0%, 100%, 50%);
+ border: none;
+ text-shadow: none;
+ margin: 20px auto;
+}
+
+.ipa {
+ font-family: NotoSans;
+ font-weight: 900;
+ font-size: 90%;
+}
+
+a[href] {
+ color: var(--link-color);
+ font-weight: 800;
+ text-decoration: none;
+ transition: color 0.2s ease-in-out;
+}
+a[href]:where(:hover,:focus) {
+ color: var(--hover-color);
+}
+
+
+dl {
+ display: grid;
+ grid-template-columns: repeat(4, auto);
+ grid-row-gap: 6px;
+ grid-column-gap: 1em;
+ justify-content: center;
+}
+
+dt {
+ text-align: right;
+ margin: 0;
+}
+dd {
+ font-weight: 700;
+ text-align: left;
+ margin: 0;
+}
+
+
+:is(rt, h1, h2)::before, :is(rt, h1, h2)::after {
+ padding: 0 0.25em;
+ vertical-align: middle;
+ display: inline-block;
+ height: 1em; width: 1em;
+ mix-blend-mode: overlay;
+ content: var(--around-image);
+}
+
+rt::before { margin-left: -1.25em; }
+rt::after { margin-right: -1.25em; }
+
+/* hacky fix for firefox mobile 68 freaking out at blend modes ā¹ */
+@media (-moz-touch-enabled) {
+ :root {
+ background: var(--gradient) fixed;
+ background-blend-mode: initial;
+ }
+}
+
+.emojo {
+ vertical-align: middle;
+ height: 1.2em; width: 1.2em;
+}
+
+.pixel {
+ /* firefox doesn't support "pixelated" but does treat "crisp-edges"
+ * to mean that */
+ image-rendering: crisp-edges;
+ image-rendering: pixelated;
+}
+
+
+/******************************/
+/* actual accessibility stuff */
+/******************************/
+
+@media (prefers-reduced-motion: reduce) {
+ /* see also the alternate source in #mlem > picture */
+ .mlem-text {
+ display: none;
+ }
+}
+
+
+@media (prefers-contrast: high), (prefers-color-scheme: dark) {
+ :root {
+ /*
+ --gradient:
+ linear-gradient(135deg,
+ hsl(42deg, 56%, 55%),
+ hsl(348deg, 56%, 55%),
+ hsl(334deg, 60%, 43%),
+ hsl(234deg, 60%, 40%),
+ hsl(195deg, 60%, 44%),
+ hsl(155deg, 60%, 55%)
+ );
+ */
+
+ --gradient:
+ linear-gradient(135deg,
+ /* oklch(33% 0.16 86), */
+ oklch(30% 0.17 15),
+ oklch(30% 0.18 304),
+ oklch(30% 0.18 233),
+ oklch(30% 0.18 162)
+ );
+
+ background:
+ image-set(url(media/bg_dim.png) 1x,
+ url(media/bg_2x_dim.png) 2x)
+ top center fixed,
+ var(--gradient) fixed;
+ background-blend-mode: multiply;
+ }
+
+ main {
+ --default-bg: hsla(0, 0%, 0%, 60%);
+ --glow-col: hsla(0, 0%, 0%, 60%);
+ }
+
+ :is(#links ul, rt, h1, h2)::before, :is(#links ul, rt, h1, h2)::after {
+ mix-blend-mode: screen;
+ }
+
+ hr {
+ background: white;
+ }
+}
+
+@media (prefers-reduced-transparency) {
+ :root {
+ background: var(--gradient) fixed;
+ background-blend-mode: initial;
+ }
+
+ :is(#links ul, rt, h1, h2)::before, :is(#links ul, rt, h1, h2)::after {
+ mix-blend-mode: initial;
+ }
+}
diff --git a/fonts/noto/noto.css b/fonts/noto/noto.css
new file mode 100644
index 0000000..c00338c
--- /dev/null
+++ b/fonts/noto/noto.css
@@ -0,0 +1,8 @@
+@font-face {
+ font-family: NotoSans;
+ font-weight: 900;
+ src:
+ local('Noto Sans Black'),
+ url(NotoSans-Black.ttf) format('ttf');
+}
+
diff --git a/id.css b/id.css
new file mode 100644
index 0000000..04deaf3
--- /dev/null
+++ b/id.css
@@ -0,0 +1,49 @@
+@import url(base.css);
+
+main {
+ max-width: 950px;
+ padding: 2em;
+
+ background:
+ url(media/quobl2.png) bottom left 5% / 30% no-repeat,
+ var(--default-bg);
+ background-blend-mode: multiply;
+}
+
+footer {
+ margin-top: 6em;
+}
+
+
+.flags {
+ list-style: none;
+ padding: 0;
+}
+
+.flags li {
+ display: inline-block;
+ padding: 0 .25em;
+}
+
+.flags img {
+ height: 1.25em;
+ border: 2px solid oklch(37.28% 0.1488 17.16 / 80%);
+ transform: rotate(-3deg);
+}
+
+dl {
+ grid-template-columns: repeat(2, auto);
+ row-gap: 1em;
+}
+
+p {
+ margin: 0 0 .5em 0;
+}
+
+.note {
+ font-size: 80%;
+}
+
+ul {
+ margin: 0;
+}
diff --git a/id.html b/id.html
new file mode 100644
index 0000000..6690e4f
--- /dev/null
+++ b/id.html
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+identity matrix
+
+
+ identity matrix
+
+
+
+
+ name
+
+
+ niss or q.t.
+ rhiannon /rhi when necessary
+ always lowercase
+
+
+ pronouns
+
+
+ she , they , or it in english. pick whichever
+ sie auf deutsch
+
+
+ shapes
+
+
+
+
+
+
+
+
diff --git a/index.css b/index.css
new file mode 100644
index 0000000..1ef5343
--- /dev/null
+++ b/index.css
@@ -0,0 +1,59 @@
+@import url(base.css);
+
+:root {
+ width: 100vw; height: 100vh;
+ margin: 0; padding: 0;
+ display: grid;
+ align-items: center;
+ justify-content: center;
+}
+
+main {
+ width: 35em;
+ padding: 2em;
+}
+
+
+#mlem {
+ margin: 36px auto -50px;
+ position: relative;
+ height: 219px;
+ width: 420px;
+ cursor-events: none;
+}
+.mlem-text {
+ font-size: 110%;
+ position: absolute;
+ font-weight: 700;
+ margin: 0;
+}
+.niss { bottom: 100%; left: 20px; }
+.nisse { bottom: 85%; right: 0; }
+#mlem img {
+ /* firefox doesn't support "pixelated" but does treat "crisp-edges"
+ * to mean that */
+ image-rendering: crisp-edges;
+ image-rendering: pixelated;
+}
+
+
+#links img {
+ margin-right: 0.75em;
+ height: 1.5em;
+ width: 1.5em;
+ filter: drop-shadow(0 0 10px var(--glow-col));
+ vertical-align: middle;
+}
+
+menu {
+ display: grid;
+ gap: 1em;
+ grid-template-columns: 1fr 1fr;
+
+ max-width: 85%;
+ margin: auto;
+ padding: 0;
+ font-size: 125%;
+}
+
+li { list-style: none; }
diff --git a/index.html b/index.html
index ff1e2f1..59d2a62 100644
--- a/index.html
+++ b/index.html
@@ -1,435 +1,48 @@
-
-the gec zone
+
+
+
-
-
+
+
-
-
-
-
-
-
-
+š¦ the gec zone š¦
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ āmlemā
+ āmlem alsoā
+
+
+
+
+
-
-
+
-
-
-
-
- hey
+
- iām niss. whatās up
+
+
-
- this page needs javascript for the full effect, sorry.
-
-
it was hard enough to make it work cross-browser as it is.
- [grumbles at safari]
-
-
-
-
- so whatās your deal
-
-
- name
-
-
- niss or q.t.
- always lowercase
-
-
- pronouns
-
-
- she , they , or it in english. pick whichever
- sie auf deutsch
-
-
- shapes
-
-
-
-
-
-
-
-
- what do you do
-
- i draw furry art! you can see that
- here . i enjoy creatures with
- weird body plans. if you want me to draw you something then
- please step this way
-
-
i like type systems! iām slowly working on a language
- called quox , which lives
- here .
- i havenāt got around to making a website for it yet
-
-
i like conlangs! i have a couple
- here . they are extremely
- āconlangerās notesā quality, which means incomplete and incomprehensible
- to anyone other than their author
-
-
iām sure thereās other stuff but talking about yourself is hard
-
-
-
- where else do you exist
-
-
-
-
-
-
-
-
-
- more websites please
-
-
- friends of gecs
-
-
-
-
-
-
-
- other cool things
-
-
-
-
-
-
-
-
-
- a sixth thing
-
- wow
-
-
- art by gray
-
-
-
-
-
diff --git a/media/18_plus.svg b/media/18_plus.svg
new file mode 100644
index 0000000..d8a31c0
--- /dev/null
+++ b/media/18_plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/art.svg b/media/art.svg
new file mode 100644
index 0000000..61a98f1
--- /dev/null
+++ b/media/art.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/battery_low.svg b/media/battery_low.svg
new file mode 100644
index 0000000..cf87822
--- /dev/null
+++ b/media/battery_low.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/bg.kra b/media/bg.kra
new file mode 100644
index 0000000..447459a
Binary files /dev/null and b/media/bg.kra differ
diff --git a/media/bg.png b/media/bg.png
new file mode 100644
index 0000000..e5dcfc4
--- /dev/null
+++ b/media/bg.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fe2fc260bacaaed167d1bf1ac23461ae26b7578bd81cc261c04d36362ec0c21b
+size 14942
diff --git a/media/bg/60309.png b/media/bg/60309.png
deleted file mode 100644
index 2c24f93..0000000
--- a/media/bg/60309.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bd0a1bf046d64749757d994126e929955d5ee234d5e2d71511b9018242c41fc3
-size 674201
diff --git a/media/bg/60309_neon.png b/media/bg/60309_neon.png
deleted file mode 100644
index 073e12f..0000000
--- a/media/bg/60309_neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5901e367a39ca5460e27f78be4d37e537a8fb16d2ff63f15a256f0750806724f
-size 377679
diff --git a/media/bg/kesi.png b/media/bg/kesi.png
deleted file mode 100644
index fcc007b..0000000
--- a/media/bg/kesi.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5d04f8eada33b13a8f598bf98add8d95adcefd1dfec46b1b99b9c9bc777f12ad
-size 449631
diff --git a/media/bg/kesi_neon.png b/media/bg/kesi_neon.png
deleted file mode 100644
index 9944584..0000000
--- a/media/bg/kesi_neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:19526a64516238873e9257b10ca492fa56791be7e64e4c27f60da72c5376b36f
-size 297761
diff --git a/media/bg/korai.png b/media/bg/korai.png
deleted file mode 100644
index 9e259ad..0000000
--- a/media/bg/korai.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9bfa1ce5f9332b23c2b3a0fb136b8d67c1c97e048f289efaad6c1bc3405433af
-size 251322
diff --git a/media/bg/korai_neon.png b/media/bg/korai_neon.png
deleted file mode 100644
index 114acf5..0000000
--- a/media/bg/korai_neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a702cfebb82b4c253bf525016f94c2bde19946b262f594a658e33745e9f7dd60
-size 209836
diff --git a/media/bg/mirai.png b/media/bg/mirai.png
deleted file mode 100644
index 378e118..0000000
--- a/media/bg/mirai.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1df78badebde5472672e5ed3fd25d4627399648c31df10046fe68934a1893723
-size 100843
diff --git a/media/bg/mirai_neon.png b/media/bg/mirai_neon.png
deleted file mode 100644
index cca645d..0000000
--- a/media/bg/mirai_neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f620befbe047b17427cfaf3f5bbd8861ea54b89fab26546ec2cefec6f674cedb
-size 103106
diff --git a/media/bg/niss.png b/media/bg/niss.png
deleted file mode 100644
index 33aaf8e..0000000
--- a/media/bg/niss.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ea72aa6f1687290c537cf720122c400c296e90e0499366b50d21851fd681e19f
-size 549006
diff --git a/media/bg/niss2.png b/media/bg/niss2.png
deleted file mode 100644
index 2dd468c..0000000
--- a/media/bg/niss2.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:26e226715ad166f406cb5bb471e2a80a979b90519d76271165f80d8596f8dc3f
-size 834362
diff --git a/media/bg/niss2_neon.png b/media/bg/niss2_neon.png
deleted file mode 100644
index 6347808..0000000
--- a/media/bg/niss2_neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4e68faae023be15c244700804151b4b0816a2dde0d9435552ee0537ed4da5aae
-size 449825
diff --git a/media/bg/niss_neon.png b/media/bg/niss_neon.png
deleted file mode 100644
index 95698a9..0000000
--- a/media/bg/niss_neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e5ff6133638542f50f5f66ccbf6925d7b8c61afa8d5b53d69ab7a1996a8a253c
-size 538971
diff --git a/media/bg/nisse.png b/media/bg/nisse.png
deleted file mode 100644
index 324065f..0000000
--- a/media/bg/nisse.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6aa61849316a2f1e4e753f00608e5b4c31b712699ec5c91a818283fe2dac3031
-size 389497
diff --git a/media/bg/nisse_neon.png b/media/bg/nisse_neon.png
deleted file mode 100644
index 001ddf0..0000000
--- a/media/bg/nisse_neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:84246da2d56c8ca1048ad4d166ea48150f273e00ec0ae5a9851cae6bb81b5e59
-size 200405
diff --git a/media/bg/prickly.png b/media/bg/prickly.png
deleted file mode 100644
index e6e0898..0000000
--- a/media/bg/prickly.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:470cf82dfefb85c1ffdf4f4ded187e4d15bd35366cdaaf727de40fe9e63facf1
-size 401724
diff --git a/media/bg/prickly_neon.png b/media/bg/prickly_neon.png
deleted file mode 100644
index 5624625..0000000
--- a/media/bg/prickly_neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7e006241b06222fb8ed5bcad61483749ecd0ebb825e6a617387cccb36a7a3327
-size 364852
diff --git a/media/bg/qt.png b/media/bg/qt.png
deleted file mode 100644
index 623e845..0000000
--- a/media/bg/qt.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:eb051e0e501e69121ca868af3071b159213db81dd425273206b9c8f84c43a277
-size 524936
diff --git a/media/bg/qt2.png b/media/bg/qt2.png
deleted file mode 100644
index 0e3db28..0000000
--- a/media/bg/qt2.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:29d7e45fb80898a9bf0ae615fcfea48c91a8ddc9aa935217394dc6c6b53afd32
-size 328430
diff --git a/media/bg/qt2_neon.png b/media/bg/qt2_neon.png
deleted file mode 100644
index be9a28d..0000000
--- a/media/bg/qt2_neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:bf4dd8a057e207dd9bf5ac8b8f8f850c47a0a8ec7c4fdb7ce44e528f8a7f8f4e
-size 422048
diff --git a/media/bg/qt_neon.png b/media/bg/qt_neon.png
deleted file mode 100644
index 46ab10f..0000000
--- a/media/bg/qt_neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1f64a7471796a587b3e02f7f6987abe6146a35fde4b11edb3dabd08c2b270308
-size 415892
diff --git a/media/bg_2x.png b/media/bg_2x.png
new file mode 100644
index 0000000..a3e2c78
--- /dev/null
+++ b/media/bg_2x.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5e696cfb1f583c96dd14810696dba4e099830b1ef512b3d92481c414dab434eb
+size 33823
diff --git a/media/buttons/FaeAlchemist.gif b/media/buttons/FaeAlchemist.gif
deleted file mode 100644
index f197d7e..0000000
--- a/media/buttons/FaeAlchemist.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ae09f7f11460a163d8f254fee969699e844a6019865460466eda709d3168b49e
-size 4977
diff --git a/media/buttons/FaeAlchemist_still.gif b/media/buttons/FaeAlchemist_still.gif
deleted file mode 100644
index f197d7e..0000000
--- a/media/buttons/FaeAlchemist_still.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ae09f7f11460a163d8f254fee969699e844a6019865460466eda709d3168b49e
-size 4977
diff --git a/media/buttons/abyss.gif b/media/buttons/abyss.gif
deleted file mode 100644
index 49a04d7..0000000
--- a/media/buttons/abyss.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ebcbc36182b33beb4a07d11dadc76d5c63d716c9c19588bf94f71f29b7dedf56
-size 9667
diff --git a/media/buttons/abyss_still.gif b/media/buttons/abyss_still.gif
deleted file mode 100644
index b85cf66..0000000
--- a/media/buttons/abyss_still.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:00bbba8acb84f151a9271a751136c6e8586ced904b54938428681e82f985afb0
-size 945
diff --git a/media/buttons/alloyed.gif b/media/buttons/alloyed.gif
deleted file mode 100644
index c7de15a..0000000
--- a/media/buttons/alloyed.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e35fa4bd5edabd4fbfeccb2f2ca96a930ebcded288caf1b96040ec246f0c77a7
-size 15353
diff --git a/media/buttons/alloyed_still.png b/media/buttons/alloyed_still.png
deleted file mode 100644
index 98f1456..0000000
--- a/media/buttons/alloyed_still.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9e4d60b0f981499e69d9d996dcdf08cfa5ef72ccdb14fbea8a66cc5565195d1d
-size 1770
diff --git a/media/buttons/beeps.gif b/media/buttons/beeps.gif
deleted file mode 100644
index 095395f..0000000
--- a/media/buttons/beeps.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:78848e44159c00695a5e6354c4b596865b1bd3a9e9c6b4d592b83fcbd9c4fa32
-size 14465
diff --git a/media/buttons/beeps_still.png b/media/buttons/beeps_still.png
deleted file mode 100644
index 4c362b9..0000000
--- a/media/buttons/beeps_still.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1d5caf5462dba1c6ab25491ec835f7433040c847c81ccd36d29c8b717e13315b
-size 1977
diff --git a/media/buttons/candiedreptile.gif b/media/buttons/candiedreptile.gif
deleted file mode 100644
index 7063995..0000000
--- a/media/buttons/candiedreptile.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f4af2524f8e9fe83c65027ecb63524fef819d1e3955cfa99d4f3e02ba25dc437
-size 11669
diff --git a/media/buttons/candiedreptile_still.png b/media/buttons/candiedreptile_still.png
deleted file mode 100644
index ab722a8..0000000
--- a/media/buttons/candiedreptile_still.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:75098a8a5580d587416d7378976bd56a5b9b426356de972d665c20ace0cc2a79
-size 872
diff --git a/media/buttons/cdromca.png b/media/buttons/cdromca.png
deleted file mode 100644
index 1451288..0000000
--- a/media/buttons/cdromca.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1d0a89493957752d850100702f4148e010c197b089d83cc465e042658119298c
-size 698
diff --git a/media/buttons/cobalt.png b/media/buttons/cobalt.png
deleted file mode 100644
index f43f1e8..0000000
--- a/media/buttons/cobalt.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:35268d147e9564fbcbcfbe201bd51c8a51eb6b4bb8406af7836c4eda5b23558d
-size 2486
diff --git a/media/buttons/cohost.gif b/media/buttons/cohost.gif
deleted file mode 100644
index 6eb0f86..0000000
--- a/media/buttons/cohost.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b42180820f7f5da784c327cecfcbfcc2f1ec48729525640d5c5f193b6d050368
-size 524
diff --git a/media/buttons/cohost_still.gif b/media/buttons/cohost_still.gif
deleted file mode 100644
index 0d9efeb..0000000
--- a/media/buttons/cohost_still.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:20b8f5d25438ef144ca9568afdcbf6001d4d28434f236368d263cd2d05a147bd
-size 415
diff --git a/media/buttons/corru.gif b/media/buttons/corru.gif
deleted file mode 100644
index bb380b7..0000000
--- a/media/buttons/corru.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c95e0b9565a7137f3172382b04d655fe29fbda709a4bf943ecbc43b89815d753
-size 96986
diff --git a/media/buttons/corru_still.gif b/media/buttons/corru_still.gif
deleted file mode 100644
index ac2d2b6..0000000
--- a/media/buttons/corru_still.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4f52f584fd1a0d252c198686e47b9c3a14d811b59409531d4486c757caa75ca7
-size 513
diff --git a/media/buttons/craw.png b/media/buttons/craw.png
deleted file mode 100644
index ef37fe9..0000000
--- a/media/buttons/craw.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:43b7db9797d8908a418fbe4c45c4599ebfa9e3777689ae9da3ce25cc688e8135
-size 547
diff --git a/media/buttons/creature0354.gif b/media/buttons/creature0354.gif
deleted file mode 100644
index 67d50c8..0000000
--- a/media/buttons/creature0354.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7651f313ff6ec293d3646dddf225c5132a33409507d4c8cf65e8fefe53ffb3c0
-size 165785
diff --git a/media/buttons/creature0354_still.png b/media/buttons/creature0354_still.png
deleted file mode 100644
index 8a1858d..0000000
--- a/media/buttons/creature0354_still.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:db007dba478cf2c1907416e6c79b75081fc85b6d0bce73814919714370d49124
-size 2695
diff --git a/media/buttons/crouton.png b/media/buttons/crouton.png
deleted file mode 100644
index 86a1b1c..0000000
--- a/media/buttons/crouton.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c9fdbb3baba70fc016920ddcf922f83ba2eb4f3ff1924c05cbba0f96333352f9
-size 10901
diff --git a/media/buttons/dex.png b/media/buttons/dex.png
deleted file mode 100644
index 1f16eb1..0000000
--- a/media/buttons/dex.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cfdb19bf757b16700c95ad69ac2e71d79acd7ef7490b1aaa3e86cc102cb6501f
-size 5686
diff --git a/media/buttons/dino.png b/media/buttons/dino.png
deleted file mode 100644
index eae44c7..0000000
--- a/media/buttons/dino.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:50f62c80929903b191fd53d57fab5115d253662378c7c788dc6c21862d6cc922
-size 12590
diff --git a/media/buttons/dusty.gif b/media/buttons/dusty.gif
deleted file mode 100644
index 38489d3..0000000
--- a/media/buttons/dusty.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:66da5e7b111534921ddac623f5af17427db0015e3082a833dbb618ec719e1d2d
-size 3148
diff --git a/media/buttons/dusty_still.png b/media/buttons/dusty_still.png
deleted file mode 100644
index ace29a3..0000000
--- a/media/buttons/dusty_still.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a76d1f3014dadc63db52db36e84be2fff1f979f95a2e2354fb91c6bc2e3ce789
-size 947
diff --git a/media/buttons/goaty.gif b/media/buttons/goaty.gif
deleted file mode 100644
index 34aa6f0..0000000
--- a/media/buttons/goaty.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:21218859cc25c2a6db56bc77a1c07756ee1c63def66a7121a0cee09204990525
-size 1651
diff --git a/media/buttons/goaty_still.gif b/media/buttons/goaty_still.gif
deleted file mode 100644
index ec151b7..0000000
--- a/media/buttons/goaty_still.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4c23acef44f95e0ae0ff557a072e3daded60ef1b77b45458af82e985d4076e00
-size 669
diff --git a/media/buttons/grace.png b/media/buttons/grace.png
deleted file mode 100644
index 7ddac70..0000000
--- a/media/buttons/grace.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:79b81c3b7e4646383d8180fdc97da45627bb48d9e74b4594e97697ad5cb7f2fa
-size 3092
diff --git a/media/buttons/gulfie.png b/media/buttons/gulfie.png
deleted file mode 100644
index 0c6fa47..0000000
--- a/media/buttons/gulfie.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:240ea6a48809669131cbff7b386a94fd0747bbd3ab78fb4ea8cf9cd19f84a7de
-size 135776
diff --git a/media/buttons/gulfie_still.png b/media/buttons/gulfie_still.png
deleted file mode 100644
index b15d1b3..0000000
--- a/media/buttons/gulfie_still.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:910c9736b1dbe631d6e1210aa8d2f6e80429c0a888331a536936190679f27931
-size 5796
diff --git a/media/buttons/hthrflwrs.png b/media/buttons/hthrflwrs.png
deleted file mode 100644
index 28c4d26..0000000
--- a/media/buttons/hthrflwrs.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:48e54d0cbdd36453b4ded1a221c65938cc54624c1271faab1e38a2017711584c
-size 253
diff --git a/media/buttons/inhuman.png b/media/buttons/inhuman.png
deleted file mode 100644
index 4303aff..0000000
--- a/media/buttons/inhuman.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:69e3ccc755603d938a2a1384f498a62b6754b3471bda7bb00bb2156ac7e8d486
-size 7262
diff --git a/media/buttons/krita.kra b/media/buttons/krita.kra
deleted file mode 100644
index bc9f69c..0000000
Binary files a/media/buttons/krita.kra and /dev/null differ
diff --git a/media/buttons/krita.png b/media/buttons/krita.png
deleted file mode 100644
index 7722cad..0000000
--- a/media/buttons/krita.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ff85766c343619cbe1ad612b8d4168a1f0a13d4c3b8516465677e44e202a7ad5
-size 11487
diff --git a/media/buttons/myno.gif b/media/buttons/myno.gif
deleted file mode 100644
index 44914d0..0000000
--- a/media/buttons/myno.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1d8af6a05369088a869b3b02b525c4866e910e290146bb1bf6eb2151c43f5adc
-size 7913
diff --git a/media/buttons/myno_still.png b/media/buttons/myno_still.png
deleted file mode 100644
index 0827ef3..0000000
--- a/media/buttons/myno_still.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3c598a40e539277a1d05b415d10fbf75c3eee5fbb26b4bf0cc5bf70358c975d4
-size 1523
diff --git a/media/buttons/pebble.gif b/media/buttons/pebble.gif
deleted file mode 100644
index 9187859..0000000
--- a/media/buttons/pebble.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:343d4f4b69276f726381453a6a1e2a16707d444dfe17df07f1e19d19ade3a85e
-size 194299
diff --git a/media/buttons/pebble_still.png b/media/buttons/pebble_still.png
deleted file mode 100644
index 6ea5316..0000000
--- a/media/buttons/pebble_still.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a1043ef03bb4a2964caa264838dc223e994ff4bbc4dc94a4d49345a2f9d16838
-size 10205
diff --git a/media/buttons/renkotsuban.gif b/media/buttons/renkotsuban.gif
deleted file mode 100644
index a8c5d02..0000000
--- a/media/buttons/renkotsuban.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:52acf6aabfae597978fa8ae718ed398045e1f4a01ca8f65872a14dcddafef5c2
-size 1506
diff --git a/media/buttons/rtts.png b/media/buttons/rtts.png
deleted file mode 100644
index e2bce39..0000000
--- a/media/buttons/rtts.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e44f57531984e24706a67a709bb88f9581e0ec5388ab2dcd71b30743d7675226
-size 4366
diff --git a/media/buttons/suricrasia.gif b/media/buttons/suricrasia.gif
deleted file mode 100644
index 2e7e634..0000000
--- a/media/buttons/suricrasia.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:340934da25996e9415d1181f56a975790357abc7e40521429f1b92a58af2ec32
-size 446
diff --git a/media/buttons/transy.gif b/media/buttons/transy.gif
deleted file mode 100644
index 0fa7440..0000000
--- a/media/buttons/transy.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:74fd54417da8c416cc1935f84be5da774fd6ce8dc543663c958c1b447069f6e4
-size 773
diff --git a/media/buttons/tsunderdog.gif b/media/buttons/tsunderdog.gif
deleted file mode 100644
index fd2d091..0000000
--- a/media/buttons/tsunderdog.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:32868250b9bd7f96a4c8665e83cf6ebd10f7e54743262c861c78aae5ef7394c3
-size 4786
diff --git a/media/buttons/tsunderdog_still.png b/media/buttons/tsunderdog_still.png
deleted file mode 100644
index 3aec498..0000000
--- a/media/buttons/tsunderdog_still.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:68d90d0158eb34389572e7463864d1cee3e552ea637a368bf19bfc0829ed9660
-size 1617
diff --git a/media/buttons/tuxedodragon.gif b/media/buttons/tuxedodragon.gif
deleted file mode 100644
index 7dda1ef..0000000
--- a/media/buttons/tuxedodragon.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:254f4797e19da043a89084040b7f17c87f400159ce3d78ffa6fe201a6d467dfc
-size 17225
diff --git a/media/buttons/tuxedodragon_still.gif b/media/buttons/tuxedodragon_still.gif
deleted file mode 100644
index 3fc3857..0000000
--- a/media/buttons/tuxedodragon_still.gif
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e73100908f08b2b8194392f9572b69e18258f59cf70182962ee9e7c039ac1534
-size 1088
diff --git a/media/chitter.png b/media/chitter.png
new file mode 100644
index 0000000..8b0377b
--- /dev/null
+++ b/media/chitter.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5e189cd908cce0bf37c221b7907958e7f62e09515ab6033c0156aa996fc72917
+size 2662
diff --git a/media/club_suit.svg b/media/club_suit.svg
new file mode 100644
index 0000000..a6382d4
--- /dev/null
+++ b/media/club_suit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/code.svg b/media/code.svg
new file mode 100644
index 0000000..8103349
--- /dev/null
+++ b/media/code.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/icons/cohost.svg b/media/cohost.svg
similarity index 100%
rename from media/icons/cohost.svg
rename to media/cohost.svg
diff --git a/media/comm-examples.kra b/media/comm-examples.kra
new file mode 100644
index 0000000..943b3fa
Binary files /dev/null and b/media/comm-examples.kra differ
diff --git a/media/comm-examples.png b/media/comm-examples.png
new file mode 100644
index 0000000..f43c848
--- /dev/null
+++ b/media/comm-examples.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5e50e1972519fdb5d5aa0d7a133a9a2a40bdfc67182a900aa5cd7f1c47e92e7a
+size 442433
diff --git a/media/contact.svg b/media/contact.svg
new file mode 100644
index 0000000..8890f11
--- /dev/null
+++ b/media/contact.svg
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+ Mutant Standard emoji 2023.12
+
+
+
+
+ Caius Nocturne
+ http://mutant.tech/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/media/cybre.png b/media/cybre.png
new file mode 100644
index 0000000..31d3394
--- /dev/null
+++ b/media/cybre.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:db7f6763c85ac58ada0c5697d5320f2571662f4c13526bfe7919ad61314e5dc2
+size 187946
diff --git a/media/favicon.png b/media/favicon.png
deleted file mode 100644
index 7d7bb0e..0000000
--- a/media/favicon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7260d9f688d6078835cf2e34a9bb81fd98e0d5e3132c153cc36af001b7160d36
-size 9255
diff --git a/media/flags/agen.png b/media/flags/agen.png
new file mode 100644
index 0000000..8339163
--- /dev/null
+++ b/media/flags/agen.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3f3989e35269ab617cacd5961993d6c460b3c5cf2db881191e4071b3ae1676f3
+size 626
diff --git a/media/flags/greyace.png b/media/flags/greyace.png
new file mode 100644
index 0000000..8c091cb
--- /dev/null
+++ b/media/flags/greyace.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fdbe76d9e3f0bca3f5e383a0d6f353f49ee89460e2b620a98a8097f287ad128e
+size 590
diff --git a/media/flags/nb.png b/media/flags/nb.png
index 4834d3f..8f76147 100644
--- a/media/flags/nb.png
+++ b/media/flags/nb.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:6649f239a69d76063ded165607b9de3af39ef0ab0fa7fd29c812cf689107ca82
-size 546
+oid sha256:b376c65ebb0d123cbf3ffb27f37cd3b04e620d23e115448dc65d3f37fc9b62a2
+size 547
diff --git a/media/flags/pan.png b/media/flags/pan.png
index b522658..dacab16 100644
--- a/media/flags/pan.png
+++ b/media/flags/pan.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:60feca8a42802d659fb7fb81e287d80b94ae82ea77c1c006afd4553cb85f06f2
-size 538
+oid sha256:0fc52d5c32ceb366ee1ece5225291b7e307a0bbf01c0c4a75f684769d6d64b8a
+size 540
diff --git a/media/flags/polyam.png b/media/flags/polyam.png
index 2100de1..fc254a8 100644
--- a/media/flags/polyam.png
+++ b/media/flags/polyam.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b1baf4daaee8ce2dd71c5a2ea62ee7c1ef62366e8313fd89db89ba590c72726e
-size 1988
+oid sha256:4c4a63d1fe752fc8ca5f1f8bfd7ab8b7d6ed4f69cd153d02a932668df14d6f21
+size 2059
diff --git a/media/flags/quoi.png b/media/flags/quoi.png
index c9746d3..3b40a30 100644
--- a/media/flags/quoi.png
+++ b/media/flags/quoi.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5582b09a338e6d2a7f36d219dea37f70cf54aa420a9bb068efe4cf1cc6d080e2
-size 698
+oid sha256:44759f19868a790b8d62ff6c40053e0f7faf2eda8e5f14c714d1df5ea6d16c57
+size 702
diff --git a/media/green_tick.svg b/media/green_tick.svg
new file mode 100644
index 0000000..18b09c1
--- /dev/null
+++ b/media/green_tick.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/icon.svg b/media/icon.svg
new file mode 100644
index 0000000..647f59e
--- /dev/null
+++ b/media/icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/icons/artfight.png b/media/icons/artfight.png
deleted file mode 100644
index c05d57b..0000000
--- a/media/icons/artfight.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a5f72bedc083faa7e813f49ca8f80111b314e53006a41af33b3958b1e0f0d638
-size 5895
diff --git a/media/icons/blog.png b/media/icons/blog.png
deleted file mode 100644
index 8dd1aa4..0000000
--- a/media/icons/blog.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b4c6460ee6f24e74ed5c06711febf9a37f474ce39e73d350c640d7be3cd44e99
-size 20559
diff --git a/media/icons/bluesky.svg b/media/icons/bluesky.svg
deleted file mode 100644
index 8cd5e0b..0000000
--- a/media/icons/bluesky.svg
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
diff --git a/media/icons/chitter.png b/media/icons/chitter.png
deleted file mode 100644
index 9f68bdd..0000000
--- a/media/icons/chitter.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:874101ff84af4056abc9937cbc286f00e8175e0224fbc8afe72b77788fa6954a
-size 2102
diff --git a/media/icons/deviantart.png b/media/icons/deviantart.png
deleted file mode 100644
index da44cfe..0000000
--- a/media/icons/deviantart.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e50ff52e9e2cf8dda4c194a15938d04956946e0a49e37041a37b6dd736c7478e
-size 9720
diff --git a/media/icons/forgejo.svg b/media/icons/forgejo.svg
deleted file mode 100644
index 8eb1747..0000000
--- a/media/icons/forgejo.svg
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/media/icons/furaffinity.png b/media/icons/furaffinity.png
deleted file mode 100644
index f62d5f3..0000000
--- a/media/icons/furaffinity.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a31f4b2688f6f73558ddea3eebc7e74368273489349682e9c3db6311eec7647d
-size 30297
diff --git a/media/icons/itaku.svg b/media/icons/itaku.svg
deleted file mode 100644
index 2825bb6..0000000
--- a/media/icons/itaku.svg
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
- image/svg+xml
-
- itaku-logo
-
-
-
-
-
-
-
- itaku-logo
-
-
diff --git a/media/icons/ko-fi.webp b/media/icons/ko-fi.webp
deleted file mode 100644
index 36e2a26..0000000
--- a/media/icons/ko-fi.webp
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:89b5725d17246c0e48b3b8f19022cc9c5d5d7b7ed7e5bef7261deb6ab1cc1962
-size 4676
diff --git a/media/icons/weasyl.svg b/media/icons/weasyl.svg
deleted file mode 100644
index 3ffd80a..0000000
--- a/media/icons/weasyl.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
\ No newline at end of file
diff --git a/media/info.svg b/media/info.svg
new file mode 100644
index 0000000..c96440d
--- /dev/null
+++ b/media/info.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/kesi-neon.png b/media/kesi-neon.png
deleted file mode 100644
index 1779bf4..0000000
--- a/media/kesi-neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:90f3a404811c3d284ce4f62db9f5d0933b88bd044d99de43d6630a816dbb22ba
-size 115088
diff --git a/media/kesi-neon.webp b/media/kesi-neon.webp
deleted file mode 100644
index 867f9a5..0000000
--- a/media/kesi-neon.webp
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8e8394f47f0c80c09cd0ea1dd2e7ec5fa3459d5a6fcaffa023eddf5195bda7bc
-size 41436
diff --git a/media/kesi.png b/media/kesi.png
index 7167395..dadb59b 100644
--- a/media/kesi.png
+++ b/media/kesi.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d7b2ad77a5d6605686777ccf7b6975b288f0cf85ca023abbbbc988ac78587096
-size 27879
+oid sha256:9dbdeca555a102593d431af50fbf80bb9db43e36e77f13896afa9d2a71e61d8a
+size 113987
diff --git a/media/kra/bg/60309.kra b/media/kra/bg/60309.kra
deleted file mode 100644
index ba51309..0000000
--- a/media/kra/bg/60309.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e7a9147b24d25c531fb9a861eb525ca1a00e6bcc6973629c1d8301fe1d793c26
-size 2670133
diff --git a/media/kra/bg/60309_neon.kra b/media/kra/bg/60309_neon.kra
deleted file mode 100644
index 9a91999..0000000
--- a/media/kra/bg/60309_neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6eec9cb67137e83d6ab42dcbe97f9810a4f28e13fbd25f1915ae583c94de6480
-size 2356962
diff --git a/media/kra/bg/kesi.kra b/media/kra/bg/kesi.kra
deleted file mode 100644
index 68a9381..0000000
--- a/media/kra/bg/kesi.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cfae745a855fb2dfde0b4b4a48b881b3b25c03f137e911c621f5ca52ce4f5b7d
-size 2445767
diff --git a/media/kra/bg/kesi_neon.kra b/media/kra/bg/kesi_neon.kra
deleted file mode 100644
index a2d12ae..0000000
--- a/media/kra/bg/kesi_neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7284bc7365ee081a40ca5d30a874799b66a3b5808d6da0e132778fa1ad97dddf
-size 2454292
diff --git a/media/kra/bg/kesi_sprite_back.kra b/media/kra/bg/kesi_sprite_back.kra
deleted file mode 100644
index 3e76f3b..0000000
--- a/media/kra/bg/kesi_sprite_back.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6f0be0125c00e6028b2543ac772327f6cd32498821e5854337d1bb6371f2aa52
-size 118794
diff --git a/media/kra/bg/kesi_sprite_front.kra b/media/kra/bg/kesi_sprite_front.kra
deleted file mode 100644
index 24aa3ff..0000000
--- a/media/kra/bg/kesi_sprite_front.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6967f24df28635ed08be078b161e8195eacb807b5cb2f165869fdfb434089c7f
-size 84571
diff --git a/media/kra/bg/korai.kra b/media/kra/bg/korai.kra
deleted file mode 100644
index fb8b3e1..0000000
--- a/media/kra/bg/korai.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:deaea22caa11c504f7fb4a3726813b4045c6adc58c2a7df65c8f0306c5abcdf5
-size 1114808
diff --git a/media/kra/bg/korai_neon.kra b/media/kra/bg/korai_neon.kra
deleted file mode 100644
index a9470a4..0000000
--- a/media/kra/bg/korai_neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:361c4718f3f8636a2999e6e530daa83f6a8242ebee1229ee055601b12e93f344
-size 447849
diff --git a/media/kra/bg/mirai.kra b/media/kra/bg/mirai.kra
deleted file mode 100644
index ecf3e34..0000000
--- a/media/kra/bg/mirai.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1e14692014bd458bd17858b058e36ca37ebdd24e8fc0d3b001b2cfe579cc9215
-size 533986
diff --git a/media/kra/bg/mirai_neon.kra b/media/kra/bg/mirai_neon.kra
deleted file mode 100644
index 55dc73e..0000000
--- a/media/kra/bg/mirai_neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d6e9f2a1e1e7703524fe3a16c3efbd61b451e8f0e14b4fe8ba2ff8ac6bc81b02
-size 223954
diff --git a/media/kra/bg/niss.kra b/media/kra/bg/niss.kra
deleted file mode 100644
index a898766..0000000
--- a/media/kra/bg/niss.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:aec9cf07af6c2caa624e37efa0d3e94714427ff481e8eb08c7a249d4ea5376f8
-size 1576085
diff --git a/media/kra/bg/niss2.kra b/media/kra/bg/niss2.kra
deleted file mode 100644
index f4be585..0000000
--- a/media/kra/bg/niss2.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5b7ce4e583deaf5935b9a77a8671c50a6c4394e67a087150fb3b5b14ba957443
-size 2410848
diff --git a/media/kra/bg/niss2_neon.kra b/media/kra/bg/niss2_neon.kra
deleted file mode 100644
index afdf965..0000000
--- a/media/kra/bg/niss2_neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:364788f740497ed756044b2543339133538c3527c17cf9e9ff09154b08a606a3
-size 1954997
diff --git a/media/kra/bg/niss_neon.kra b/media/kra/bg/niss_neon.kra
deleted file mode 100644
index 543335b..0000000
--- a/media/kra/bg/niss_neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e3d0141f7b21e39188c7afad307bc7f8efd11f0664656736558e66bea922397a
-size 1674798
diff --git a/media/kra/bg/nisse.kra b/media/kra/bg/nisse.kra
deleted file mode 100644
index a69e7d2..0000000
--- a/media/kra/bg/nisse.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:6d6390dbd98fa314f8d156ade57b51a913ecef1c64f6ebfaf3da6f2e970a423b
-size 1481541
diff --git a/media/kra/bg/nisse_neon.kra b/media/kra/bg/nisse_neon.kra
deleted file mode 100644
index 444d4a4..0000000
--- a/media/kra/bg/nisse_neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:3b9b35ec6d50bbfac8f54a0628577c0b57035787ac68ccd9dd2d8f10f4b9dc64
-size 1290464
diff --git a/media/kra/bg/prickly.kra b/media/kra/bg/prickly.kra
deleted file mode 100644
index f071efa..0000000
--- a/media/kra/bg/prickly.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8945e4c2f78b2addd511adb9f027be566f658bcdbe779c8a566d1dadb5d89544
-size 1208044
diff --git a/media/kra/bg/prickly_neon.kra b/media/kra/bg/prickly_neon.kra
deleted file mode 100644
index 91863e2..0000000
--- a/media/kra/bg/prickly_neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:344b80418343c8656ac4db4adba8e06d53688a20128d357b1c099c68b7d7329c
-size 1376645
diff --git a/media/kra/bg/qt.kra b/media/kra/bg/qt.kra
deleted file mode 100644
index 009fc62..0000000
--- a/media/kra/bg/qt.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c9c15c7f88500f34abc8d67667543ad401d1dc645e16378688ed0c2d477e974a
-size 2300042
diff --git a/media/kra/bg/qt2.kra b/media/kra/bg/qt2.kra
deleted file mode 100644
index ba321f6..0000000
--- a/media/kra/bg/qt2.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5c155ad5eb02ec59914cb7b9f734329bfba1262c33ef8251a4ced5bf584e95cf
-size 956340
diff --git a/media/kra/bg/qt2_neon.kra b/media/kra/bg/qt2_neon.kra
deleted file mode 100644
index 0c83cb8..0000000
--- a/media/kra/bg/qt2_neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e02b972fa944642e35de932b62ee74363284984f3195741dc3719e7429bee481
-size 1113221
diff --git a/media/kra/bg/qt_neon.kra b/media/kra/bg/qt_neon.kra
deleted file mode 100644
index c29a152..0000000
--- a/media/kra/bg/qt_neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2ac272d6c1decea63389860e8ed96dc1cadf31556e0e9f7b365f138ef538044e
-size 1157792
diff --git a/media/kra/kesi-neon.kra b/media/kra/kesi-neon.kra
deleted file mode 100644
index 734cfad..0000000
--- a/media/kra/kesi-neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:0cbaaebf55f533eab869d06a6bcdb405786b5847503edd1ebbef0a1a96cda438
-size 401262
diff --git a/media/kra/niss-icon.kra b/media/kra/niss-icon.kra
deleted file mode 100644
index e9d1ae1..0000000
--- a/media/kra/niss-icon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:da533e187913ad2c08398fcd0f6d8fbd5144ca430a23b3e4100fb0fe0d4a79f1
-size 94411
diff --git a/media/kra/opengraph.kra b/media/kra/opengraph.kra
deleted file mode 100644
index 2a47f45..0000000
--- a/media/kra/opengraph.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7d0fe6858d5ec0fc4020564615669c0cfb4a7743eaeb9827d4bb3672ed2df305
-size 668065
diff --git a/media/kra/quobl-neon.kra b/media/kra/quobl-neon.kra
deleted file mode 100644
index 8657440..0000000
--- a/media/kra/quobl-neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9480a710498d99ea775e30026d667e0d6294bd636aef7d00d520f9de596c78e9
-size 508441
diff --git a/media/kra/quobl.kra b/media/kra/quobl.kra
deleted file mode 100644
index f8296f5..0000000
--- a/media/kra/quobl.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b23a77056cc6a399dd071b1d7b07965188bbc6199bfde2172a8ce4303240ff8f
-size 2879239
diff --git a/media/kra/twittercard.kra b/media/kra/twittercard.kra
deleted file mode 100644
index c7a71c3..0000000
--- a/media/kra/twittercard.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:10bdff9df42f4dfe0f4c99a1775fde5a9e90875897b364765ba944d957fc256d
-size 989910
diff --git a/media/kra/wave-neon.kra b/media/kra/wave-neon.kra
deleted file mode 100644
index ab50069..0000000
--- a/media/kra/wave-neon.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:fd444f96a1e1d0850b7cb9efcf2d46fff9e6721eec313c9ffc2d022de0372f7e
-size 352872
diff --git a/media/kra/wave.kra b/media/kra/wave.kra
deleted file mode 100644
index 5736d58..0000000
--- a/media/kra/wave.kra
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:877924ae61371ae50d79168ee1cff1af5b7e24583fd2edcbf437daacbad66e61
-size 1803137
diff --git a/media/light_bulb.svg b/media/light_bulb.svg
new file mode 100644
index 0000000..f8ffe2c
--- /dev/null
+++ b/media/light_bulb.svg
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/media/lockpen.png b/media/lockpen.png
new file mode 100644
index 0000000..5079b58
--- /dev/null
+++ b/media/lockpen.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:538ed0370a0b6116181dcaf30cbbb9d130ca3780d9807356bebf9a0384b9c7e6
+size 5331
diff --git a/media/love_letter.svg b/media/love_letter.svg
new file mode 100644
index 0000000..6360856
--- /dev/null
+++ b/media/love_letter.svg
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+ Mutant Standard emoji 2023.12
+
+
+
+
+ Caius Nocturne
+ http://mutant.tech/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/media/icons/matrix.svg b/media/matrix.svg
similarity index 100%
rename from media/icons/matrix.svg
rename to media/matrix.svg
diff --git a/media/mlem_bg.gif b/media/mlem_bg.gif
new file mode 100644
index 0000000..5f9c827
--- /dev/null
+++ b/media/mlem_bg.gif
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eb42a9952e3c9918fb9e0c9ffcdabd89e404b8a33b64b9c6fac230aae7e27a82
+size 59738
diff --git a/media/mlem_static.png b/media/mlem_static.png
new file mode 100644
index 0000000..1d6c0d7
--- /dev/null
+++ b/media/mlem_static.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4d2f73df83510eae8c3c6da20d948b47b9441f4a34eb6e62fc8a745b37b1c36f
+size 6404
diff --git a/media/money.svg b/media/money.svg
new file mode 100644
index 0000000..158816c
--- /dev/null
+++ b/media/money.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/niss-nisse.mp3 b/media/niss-nisse.mp3
new file mode 100644
index 0000000..192d588
--- /dev/null
+++ b/media/niss-nisse.mp3
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b68c2b121dbea39dcf4a80946f338241d9d306ee77574a8fad61f47d1493f43f
+size 27890
diff --git a/media/niss-nisse.ogg b/media/niss-nisse.ogg
new file mode 100644
index 0000000..203496c
--- /dev/null
+++ b/media/niss-nisse.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:96b80fce404bfbdb2e2143ea5041c600a853f15dcd60d64cec2fc1553890ef12
+size 29252
diff --git a/media/opengraph.png b/media/opengraph.png
deleted file mode 100644
index df112f3..0000000
--- a/media/opengraph.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:73c900e6dd23eca9a0a43770b1d94e639a424d72fbe7f538d1fb467bae0cf602
-size 221758
diff --git a/media/question.svg b/media/question.svg
new file mode 100644
index 0000000..bc1be0e
--- /dev/null
+++ b/media/question.svg
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+ Mutant Standard emoji 2020.04
+
+
+
+
+ Dzuk
+ http://mutant.tech/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/media/quobl-neon.png b/media/quobl-neon.png
deleted file mode 100644
index 1ecde1a..0000000
--- a/media/quobl-neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:988eaf8621e39f86f99350c44af3c591622be47d297ec63669a4205abe6c0d5b
-size 106171
diff --git a/media/quobl-neon.webp b/media/quobl-neon.webp
deleted file mode 100644
index 6f505d0..0000000
--- a/media/quobl-neon.webp
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f02c97b50d7d6eaba9edf29624d5a9556158bf918397d71e5f589ded8945e4f5
-size 39692
diff --git a/media/quobl.kra b/media/quobl.kra
new file mode 100644
index 0000000..789cd35
Binary files /dev/null and b/media/quobl.kra differ
diff --git a/media/quobl.png b/media/quobl.png
index 57aa46a..fc43be1 100644
--- a/media/quobl.png
+++ b/media/quobl.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:610fe136ea865b9842a799a41f62c96b70651aa44a1ec018c981eafb551d85fb
-size 118116
+oid sha256:3eb3714b181d9e5c07b055ca4b682bcacae415bf8d9399e1c325455291db0909
+size 142155
diff --git a/media/quobl.webp b/media/quobl.webp
deleted file mode 100644
index f56e73a..0000000
--- a/media/quobl.webp
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ddd009dcb0dc26fc40150162fe78214994b2d323773912d9e23aa3981edc0f7e
-size 33652
diff --git a/media/quobl2.png b/media/quobl2.png
new file mode 100644
index 0000000..ff1a7e7
--- /dev/null
+++ b/media/quobl2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:087af900beaa0034ef3fe65a2d33a97d2f33012896e51b181c4d9e91c5ffb18b
+size 143027
diff --git a/media/quoxtrans.png b/media/quoxtrans.png
index 5537c8f..2194616 100644
--- a/media/quoxtrans.png
+++ b/media/quoxtrans.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:45d76c6e3fc913bf7f81768b0cad8b4ce9a9f0e465e1dd24bad09c4ddfe400c2
-size 1006
+oid sha256:3124bbb6482975d371d4ad546177eb01a3f39c33a6ce6e910a714d8e5c75fdce
+size 2385
diff --git a/media/speech.svg b/media/speech.svg
new file mode 100644
index 0000000..255e1ad
--- /dev/null
+++ b/media/speech.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/twittercard.png b/media/twittercard.png
deleted file mode 100644
index 4cacfbf..0000000
--- a/media/twittercard.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:564d3b962f555cc2ce7fd71450de4a6396762e39d9d9135bec4e11fea0e2c08c
-size 393384
diff --git a/media/wave-neon.png b/media/wave-neon.png
deleted file mode 100644
index 20a5b38..0000000
--- a/media/wave-neon.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:cb91312b00bb1fbeaa863b2bdf265569a9de69f437eccd870c178ae5e5b93940
-size 158747
diff --git a/media/wave-neon.webp b/media/wave-neon.webp
deleted file mode 100644
index ed5bb85..0000000
--- a/media/wave-neon.webp
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:f867a079528aab9c9118ab0224da2f36c7249bc0ee9a99a4230062ed7ef21f11
-size 61688
diff --git a/media/wave.png b/media/wave.png
deleted file mode 100644
index 42e39cb..0000000
--- a/media/wave.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:edca327036d21bed916e4bf7e4fc0908aa67b5d4321606854e151b57d32b2e2c
-size 278883
diff --git a/media/wave.webp b/media/wave.webp
deleted file mode 100644
index 82c6971..0000000
--- a/media/wave.webp
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7157b92b00e0b3a0dd3cae328b811357a9dca43bbd6b2cef1ef1f205e86308ab
-size 77004
diff --git a/script/run.ts b/script/run.ts
deleted file mode 100644
index 6450e21..0000000
--- a/script/run.ts
+++ /dev/null
@@ -1,303 +0,0 @@
-/** one of the six document sections */
-export type Pane = 'hello' | 'id' | 'activities' | 'links' | 'friends' | 'six';
-
-export const allPanes: Pane[] =
- ['hello', 'id', 'activities', 'links', 'friends', 'six'];
-
-namespace Cube {
-
-/** location on the cube in space */
-export type Face = 'front' | 'top' | 'back' | 'bottom' | 'left' | 'right';
-
-/**
- * - for front, left, right: up is up
- * - for back: up is down (lol)
- * - for top: up is away from you
- * - for bottom: up is towards you
- */
-export type Orientation = 'up' | 'left' | 'down' | 'right';
-
-export type Place = [Face, Orientation];
-
-
-function table(m: Record ): (x: A) => B {
- return x => m[x];
-}
-
-
-const doCwO =
- table({up: 'right', right: 'down', down: 'left', left: 'up'});
-
-const doCcwO =
- table({up: 'left', left: 'down', down: 'right', right: 'up'});
-
-
-export type RotateXY = 'up' | 'left' | 'down' | 'right';
-export type RotateZ = 'cw' | 'ccw';
-export type Rotation = RotateXY | RotateZ;
-
-// if you rotate the cube "up" (along the x axis), face f becomes up(f)
-// et cetera
-const moveF: Record Face> = {
- up: table({
- front: 'top', top: 'back', back: 'bottom',
- bottom: 'front', left: 'left', right: 'right'
- }),
- down: table({
- front: 'bottom', top: 'front', back: 'top',
- bottom: 'back', left: 'left', right: 'right'
- }),
- left: table({
- front: 'left', top: 'top', back: 'right',
- bottom: 'bottom', left: 'back', right: 'front'
- }),
- right: table({
- front: 'right', top: 'top', back: 'left',
- bottom: 'bottom', left: 'front', right: 'back'
- }),
- cw: table({
- front: 'front', back: 'back', left: 'top',
- right: 'bottom', top: 'right', bottom: 'left'
- }),
- ccw: table({
- front: 'front', back: 'back', left: 'bottom',
- right: 'top', top: 'left', bottom: 'right'
- })
-};
-
-const moveO: Record Orientation> = {
- up(f, o) {
- switch (f) {
- case 'left': return doCcwO(o);
- case 'right': return doCwO(o);
- default: return o;
- }
- },
- down(f, o) {
- switch (f) {
- case 'left': return doCwO(o);
- case 'right': return doCcwO(o);
- default: return o;
- }
- },
- left(f, o) {
- switch (f) {
- case 'top': return doCwO(o);
- case 'bottom': return doCcwO(o);
- case 'left':
- case 'back': return doCwO(doCwO(o));
- default: return o;
- }
- },
- right(f, o) {
- switch (f) {
- case 'top': return doCcwO(o);
- case 'bottom': return doCwO(o);
- case 'right':
- case 'back': return doCcwO(doCcwO(o));
- default: return o;
- }
- },
- cw(f, o) { return f == 'back' ? doCcwO(o) : doCwO(o); },
- ccw(f, o) { return f == 'back' ? doCwO(o) : doCcwO(o); }
-};
-
-export function applyMoves(p: Place, ms: Rotation[]): Place {
- return ms.reduce(([f, o], m) => [moveF[m](f), moveO[m](f, o)], p);
-}
-
-/** the sequence of movements to put this place on the front */
-export function toFrontUpright([f, o]: Place): [RotateXY[], RotateZ[]] {
- const toFront: (f: Face) => RotateXY[] =
- table({
- front: [], top: ['down'], back: ['left', 'left'],
- bottom: ['up'], left: ['right'], right: ['left']
- });
-
- const toUpright: (o: Orientation) => RotateZ[] =
- table({
- up: [], left: ['cw'], down: ['cw', 'cw'], right: ['ccw']
- });
-
- const directions = toFront(f);
- const rotations = toUpright(applyMoves([f, o], directions)[1]);
- return [directions, rotations];
-}
-
-
-const movementToTransform = table({
- up: 'rotateX(.25turn)', down: 'rotateX(-.25turn)',
- left: 'rotateY(-.25turn)', right: 'rotateY(.25turn)',
- cw: 'rotateZ(.25turn)', ccw: 'rotateZ(-.25turn)'
-});
-
-/** the css `transform` value corresponding to this sequence of movements */
-export function movementsToTransform(ms: Rotation[]): string {
- return ms.length > 0 ? ms.map(movementToTransform).join(' ') : 'none';
-}
-
-
-const faceToTransform = table({
- front: '', top: 'rotateX(.25turn)',
- back: 'rotateX(.5turn)', bottom: 'rotateX(-.25turn)',
- left: 'rotateY(-.25turn)', right: 'rotateY(.25turn)'
-});
-
-const orientationToTransform = table({
- up: '', left: 'rotateZ(-.25turn)',
- down: 'rotateZ(-.5turn)', right: 'rotateZ(.25turn)'
-});
-
-/**
- * the css `transform` value that will bring the given place to the
- * front and upright
- */
-export function placeToTransform([f, o]: Place): string {
- const ft = faceToTransform(f);
- const ot = orientationToTransform(o);
- return ft || ot ? `${ft} ${ot}` : 'none';
-}
-
-
-/** a map of where each pane is on the cube */
-export type Conf = Record;
-
-/** initial cube configuration with `hello` at the front */
-let current: Conf = {
- hello: ['front', 'up'], id: ['left', 'up'],
- activities: ['back', 'down'], links: ['right', 'up'],
- friends: ['bottom', 'up'], six: ['top', 'up'],
-};
-// the back face is 'down' so it has the same visual orientation as other side
-// faces
-
-/** apply the css transforms to each pane element */
-export function applyConfiguration(): void {
- for (const pane of allPanes) {
- const element = document.getElementById(pane)!;
- const place = current[pane];
-
- element.style.setProperty('--base-transform', placeToTransform(place));
- element.style.pointerEvents = place[0] == 'front' ? 'auto' : 'none';
- }
-}
-
-export function move(c: Conf, ...ms: Rotation[]): Conf {
- let res: Partial = {};
- for (const pane of allPanes) { res[pane] = applyMoves(c[pane], ms) }
- return res as Conf;
-}
-
-
-export function animateMoveWith(ds: RotateXY[], rs: RotateZ[]): void {
- const outer = document.getElementById('outer')!;
- 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)`;
-
- function transitionListener(elem: HTMLElement): () => void {
- function handler(e: Event) { if (e.target == elem) { finish(); } }
-
- elem.addEventListener('transitionend', handler);
- return () => elem.removeEventListener('transitionend', handler);
- }
-
- let removeOuter = () => {};
- let removeCube = () => {};
- if (rs.length > 0) {
- removeOuter = transitionListener(outer);
- cube.style.transform = movementsToTransform(ds);
- outer.style.transform = movementsToTransform(rs);
- } else if (ds.length > 0) {
- removeCube = transitionListener(cube);
- cube.style.transform = movementsToTransform(ds);
- } else {
- finish();
- }
-
- function finish() {
- removeOuter(); removeCube();
-
- delete cube.dataset.moving;
- outer.style.transition = cube.style.transition = 'none';
- outer.style.transform = cube.style.transform = 'none';
-
- current = move(current, ...ds, ...rs);
- applyConfiguration();
- }
-}
-
-export function animateMoveTo(pane: Pane): void {
- animateMoveWith(...toFrontUpright(current[pane]));
- history.replaceState(null, 'š¦', `#${pane}`);
-}
-
-export function squashCube() {
- for (const pane of allPanes) {
- const elem = document.getElementById(pane)!
- elem.style.setProperty('--base-transform', 'none');
- }
-}
-
-export function instantMoveTo(pane: Pane): void {
- current = move(current, ...toFrontUpright(current[pane]).flat());
- applyConfiguration();
-}
-
-export function LEFT() { animateMoveWith(['left'], []); }
-export function RIGHT() { animateMoveWith(['right'], []); }
-export function UP() { animateMoveWith(['up'], []); }
-export function DOWN() { animateMoveWith(['down'], []); }
-export function CW() { animateMoveWith([], ['cw']); }
-export function CCW() { animateMoveWith([], ['ccw']); }
-
-}
-
-
-namespace Flat {
-
-export function fadeTo(newPane: Pane): void {
- for (const pane of allPanes) {
- const here = pane == newPane;
- document.getElementById(pane)!.dataset.selected = `${here}`;
- if (here) { history.replaceState(null, 'š¦', `#${pane}`); }
- }
-}
-
-}
-
-
-
-let reducedMotion =
- matchMedia(`(prefers-reduced-motion: reduce),
- (max-height: 649px), (max-width: 649px)`);
-
-function switchTo(pane: Pane): void {
- if (reducedMotion.matches) { Cube.instantMoveTo(pane); }
- else { Cube.animateMoveTo(pane); }
- Flat.fadeTo(pane);
-}
-
-
-function setup(): void {
- const here = location.hash.slice(1) || 'hello';
-
- for (const pane of allPanes) {
- const box = document.getElementById(`b-${pane}`) as HTMLInputElement;
- box.addEventListener('change', () => {
- if (box.checked) { switchTo(pane); }
- });
-
- if (pane == here) {
- Cube.instantMoveTo(pane);
- Flat.fadeTo(pane);
- box.checked = true;
- }
- }
-}
-
-document.addEventListener('DOMContentLoaded', setup);
-
-export {};
diff --git a/script/shuffle.ts b/script/shuffle.ts
deleted file mode 100644
index 0d4d489..0000000
--- a/script/shuffle.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-function group(subject: A[], keepTogether: A[][]): A[][] {
- type Value = {array: A[], added: boolean};
-
- let groups: Map = new Map;
- for (const xs of keepTogether) {
- let value = {array: xs, added: false};
- for (const x of xs) { groups.set(x, value); }
- }
-
- let res = [];
-
- for (const x of subject) {
- let group = groups.get(x);
- if (group?.added) { continue; }
- else if (group) {
- group.added = true;
- res.push(group.array);
- } else {
- res.push([x]);
- }
- }
-
- return res;
-}
-
-function shuffle (subject: A[]): A[] {
- let res = Array.from(subject);
-
- for (let i = 0; i < res.length - 2; ++i) {
- const j = i + Math.floor(Math.random() * (res.length - i));
- if (i != j) {
- const k = res[i]!;
- res[i] = res[j]!;
- res[j] = k;
- }
- }
-
- return res;
-}
-
-function groupedShuffle (subject: A[], keepTogether: A[][]): A[] {
- let groups = group(subject, keepTogether);
- return shuffle(groups).flat();
-}
-
-function shuffleAll() {
- let groups = [group('myno', 'abyss')];
-
- for (const elem of Array.from(document.getElementsByClassName('shuffle'))) {
- let shuffled = groupedShuffle(Array.from(elem.children), groups);
-
- elem.innerHTML = '';
- for (const child of shuffled) {
- elem.appendChild(child);
- }
- }
-
- function group(...xs: string[]) {
- let elements = xs.map(x => document.getElementById(x));
- return elements.every(x => x) ? elements as HTMLElement[] : [];
- }
-}
-
-document.addEventListener('DOMContentLoaded', shuffleAll);
-
-export {};
diff --git a/style/base.css b/style/base.css
deleted file mode 100644
index 8576d25..0000000
--- a/style/base.css
+++ /dev/null
@@ -1,531 +0,0 @@
-@import url(../fonts/muller/muller.css);
-
-
-/* OUTER */
-
-* { box-sizing: border-box; }
-
-html, body {
- min-height: 100vh;
- min-height: 100lvh;
- scrollbar-gutter: stable;
-}
-
-html {
- font-size: large;
- font-family: Muller, sans-serif;
- font-weight: 500;
-
- color: black;
-
- --gradient:
- linear-gradient(120deg, #fae58f, #fab6ba, #d1aeff, #89d6ff, #43f3ae);
- --shadow-hsl: 330deg 40% 40%;
- --base-background: var(--gradient) fixed;
- background: var(--base-background);
-
- --menu-bg-hsl: 60deg 100% 96%;
-}
-
-@media (prefers-reduced-data: reduce) {
- html {
- font-family: sans-serif;
- font-weight: normal;
- }
-}
-
-html, body { margin: 0; }
-
-@media (prefers-color-scheme: dark) {
- html {
- --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%;
- color: #ffd;
- }
-}
-
-
-/* TOP MENU */
-
-#face-menu {
- align-self: center;
- margin: 10px;
-}
-
-.menu input, .menu label {
- cursor: pointer;
-}
-
-.menu {
- display: flex;
- place-content: center;
- place-items: center;
- margin: auto;
- padding: 0;
-
- flex-wrap: wrap;
- justify-content: center;
-
- font-size: 125%;
-
- 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%);
-}
-
-@media (prefers-reduced-transparency: reduce) {
- background: hsl(var(--menu-bg-hsl));
-}
-
-.hide-boxes input {
- appearance: none;
- width: 0;
- margin: 0;
- padding: 0;
-}
-.menu li {
- display: flex;
- list-style: none;
- flex: 1 0 4em;
-}
-.menu label {
- padding: .25em 1.25em;
- flex: 1 0 auto;
- text-align: center;
-}
-
-
-/* BASE FACE STYLES */
-
-#cube > section {
- --base-background:
- repeating-linear-gradient(var(--bg-angle),
- transparent, transparent 0.8em,
- #fff8 0.8em, #fff8 1em),
- linear-gradient(150deg,
- hsl(var(--hue) 86% 94%),
- hsl(var(--hue) 66% 82%)
- );
- background: var(--base-background);
-
- --border-thickness: 10px;
- border: var(--border-thickness) solid white;
- padding: 2em;
-
- 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);
-
- scrollbar-color:
- hsl(calc(var(--hue) + 180deg) 90% 60%)
- hsl(var(--hue) 50% 95%);
-}
-
-#cube a {
- color: hsl(calc(var(--hue) + 180deg) 90% 20%);
- font-weight: 600;
- text-decoration: none;
-}
-#cube a:hover {
- text-decoration: underline;
- text-decoration-style: dotted;
- text-decoration-color: currentcolor;
- text-decoration-thickness: 2px;
-}
-
-h2 { margin-top: 0; }
-
-h3 {
- text-align: center;
- margin-top: 0;
- margin-bottom: 0.25em;
-}
-
-strong { font-weight: 700; }
-
-#cube section ::selection {
- color: white;
- background: hsl(calc(var(--hue) + 180deg), 50%, 30%);
- text-shadow: none;
-}
-
-@media (prefers-color-scheme: dark) {
- #cube > section {
- --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;
- }
-
- #cube a {
- color: hsl(calc(var(--hue) + 180deg) 100% 85%);
- }
-}
-
-
-
-/* SPECIFIC FACE STYLES */
-
-/* the separate "#whatever ::selection" selector is because in
- * chrome, ::selection doesn't inherit variables */
-#hello, #hello ::selection {
- --hue: 310deg;
- --bg-angle: 135deg;
-}
-
-/* this one makes more sense to show if there is a paint before
- * the script runs */
-#hello {
- z-index: 1;
-}
-
-/* extra #cube selector for specificity */
-#cube #hello {
- --bg-image: url(../media/wave.png);
- background:
- var(--bg-image) bottom right / auto 60% no-repeat,
- var(--base-background);
-}
-
-@media (prefers-color-scheme: dark) {
- #cube #hello { --bg-image: url(../media/wave-neon.png); }
-}
-@media (prefers-reduced-data: reduce) {
- #cube #hello { --bg-image: url(../media/wave.webp); }
-}
-@media (prefers-color-scheme: dark) and (prefers-reduced-data: reduce) {
- #cube #hello { --bg-image: url(../media/wave-neon.webp); }
-}
-
-#id, #id ::selection, #flags img {
- --hue: 10deg;
- --bg-angle: 45deg;
-}
-
-#id dl {
- display: grid;
- grid-template-columns: min-content auto;
- gap: 1em 2em;
-}
-#id dt { font-weight: 600; }
-#id dd { margin: 0; }
-#id dd a { font-weight: 700; }
-
-#id dl ul {
- padding-left: 1em;
- list-style: 'ā§ā';
-}
-
-#flags {
- display: flex;
- flex-flow: wrap;
- justify-content: center;
- gap: 1em;
- margin-top: 3em;
-}
-
-#flags img {
- height: 2em;
- border: 2px solid hsl(var(--hue) 30% 5% / 60%);
-}
-
-
-#activities, #activities ::selection {
- --hue: 70deg;
- --bg-angle: -60deg;
-}
-
-#cube #activities {
- /* height of quobl.png is 58% of width */
- --bg-image: url(../media/quobl.png);
- background:
- var(--bg-image) bottom left 2ex / 50% auto no-repeat local,
- var(--base-background);
- padding-bottom: 29%;
-}
-
-@media (prefers-color-scheme: dark) {
- #cube #activities { --bg-image: url(../media/quobl-neon.png); }
-}
-@media (prefers-reduced-data: reduce) {
- #cube #activities { --bg-image: url(../media/quobl.webp); }
-}
-@media (prefers-color-scheme: dark) and (prefers-reduced-data: reduce) {
- #cube #activities { --bg-image: url(../media/quobl-neon.png); }
-}
-
-#links, #links ::selection {
- --hue: 130deg;
- --bg-angle: 210deg;
-}
-
-#links ul {
- padding: 0;
- width: 100%;
- display: flex;
- flex-wrap: wrap;
- gap: 4px;
-}
-#links li {
- flex: 1 0 10em;
- list-style: none;
- --icon-bg: var(--fg);
-}
-
-#links 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),
- var(--icon) calc(1.5em - 16px) center / 32px auto no-repeat,
- var(--icon-bg);
-
- color: var(--fg);
- text-shadow: none;
-}
-
-#links a:hover { text-decoration: none; }
-
-#links #gallery {
- --icon: url(../media/favicon.png);
- --fg: hsl(280deg 38% 43%);
- --bg: hsl(100deg 99% 81%);
- image-rendering: pixelated;
-}
-
-#links #code {
- --icon: url(../media/icons/forgejo.svg);
- --fg: white;
- --icon-bg: #171e26;
- --bg: #c2410c;
-}
-
-#links #blog {
- --icon: url(../media/icons/blog.png);
- --fg: #ffeebb;
- --bg: #332255;
- /* image-rendering: pixelated; */
-}
-#links #blog a {
- background-position: center, left calc(1.5em - 51px) center, center;
- background-size: contain;
-}
-
-#links #itaku {
- --icon: url(../media/icons/itaku.svg);
- --fg: #ffeb3b;
- --bg: #303030;
-}
-
-#links #weasyl {
- --icon: url(../media/icons/weasyl.svg);
- --fg: white;
- --bg: #970000;
-}
-
-#links #fa {
- --icon: url(../media/icons/furaffinity.png);
- --icon-bg: #20242a;
- --bg: #353b45;
- --fg: white;
-}
-
-#links #da {
- --icon: url(../media/icons/deviantart.png);
- --icon-bg: #000608;
- --bg: #314537;
- --fg: #e7ede4;
-}
-
-#links #kofi {
- --icon: url(../media/icons/ko-fi.webp);
- --icon-bg: #def3ff;
- --bg: white;
- --fg: #ff5966;
-}
-
-#links #artfight {
- --icon: url(../media/icons/artfight.png);
- --icon-bg: #222222;
- --bg: #a65178;
- --fg: white;
-}
-
-#links #chitter {
- --icon: url(../media/icons/chitter.png);
- --bg: #582c58;
- --icon-bg: #2c162c;
- --fg: white;
-}
-
-#links #cohost {
- --icon: url(../media/icons/cohost.svg);
- --bg: #ffab5c;
- --icon-bg: #83254f;
- --fg: black;
-}
-
-#links #bluesky {
- --icon: url(../media/icons/bluesky.svg);
- --bg: #161e27;
- --fg: white;
-}
-
-@media (prefers-color-scheme: dark) {
- /* most link colours are fine in both modes. except: */
-
- #links #gallery {
- --icon-bg: hsl(280deg 42% 30%);
- --bg: hsl(280deg 38% 43%);
- --fg: hsl(100deg 99% 81%);
- }
-
- #links #weasyl {
- --icon-bg: #252d32;
- }
-
- #links #kofi {
- --icon-bg: #2b3a44;
- --bg: #192025;
- --fg: #dce7eb;
- }
-
- #links #bluesky {
- --bg: #161e27;
- --icon-bg: #1e2936;
- --fg: white;
- }
-}
-
-
-#friends, #friends ::selection {
- --hue: 190deg;
- --bg-angle: 300deg;
-}
-
-#cube #friends {
- display: grid;
- grid: "hdr" min-content
- "links1" auto
- "links2" auto
- "buttons" auto;
-}
-
-#friends img { image-rendering: pixelated; }
-
-#friendlinks, #otherlinks { align-self: start; }
-
-#friendlinks ul, #otherlinks ul {
- list-style: none;
- padding: 0;
-
- display: flex;
- width: 80%;
- margin: 0 auto;
-
- align-items: start;
- gap: 4px;
- justify-content: center;
- flex-wrap: wrap;
-}
-
-#friendlinks img, #otherlinks img {
- width: 88px;
- height: 31px;
- object-fit: none;
-}
-
-#friends .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;
-}
-
-#friends a:hover { text-decoration: none; }
-
-#friends #khr a { background: #ffab71; color: #71153e; }
-#friends #dusty a { background: #fbd265; color: #805c2d; }
-#friends #ionchy a { background: #feca2f; color: #1b1505; }
-#friends #tenna a { background: #6095da; color: #243224; }
-#friends #river a { background: #98d8e7; color: #d67d28; }
-#friends #spiral a { background: #ef4d5a; color: #1f1f1f; }
-#friends #codl a { background: #87261f; color: #edb970; }
-#friends #violet a { background: #8c2bd8; color: #dddddd; }
-#friends #brin a { background: #1e1e1e; color: #ff4400; }
-
-#nissbuttons {
- margin: 2em auto 0;
- align-self: end;
- display: flex;
- align-items: center;
- justify-content: center;
- gap: 1em;
-}
-
-#nissbuttons p {
- text-align: right;
- text-wrap: balance;
-}
-#nissbuttons * { margin: 0; }
-
-#six, #six ::selection {
- --hue: 250deg;
- --bg-angle: 130deg;
-}
-
-#cube #six {
- --bg-image: url(../media/kesi.png);
- background:
- var(--bg-image) bottom right / 100% auto no-repeat,
- var(--base-background);
-}
-
-.artcredit {
- position: absolute;
- bottom: 0;
- left: 1em;
- font-size: smaller;
- font-style: italic;
- background: hsl(var(--menu-bg-hsl) / 75%);
- padding: .1em .5em;
-}
-
-@media (prefers-color-scheme: dark) {
- #cube #six { --bg-image: url(../media/kesi-neon.png); }
-}
-@media (prefers-reduced-data: reduce) {
- #cube #activities { --bg-image: url(../media/kesi.webp); }
-}
-@media (prefers-color-scheme: dark) and (prefers-reduced-data: reduce) {
- #cube #activities { --bg-image: url(../media/kesi-neon.webp); }
-}
diff --git a/style/cube.css b/style/cube.css
deleted file mode 100644
index daef211..0000000
--- a/style/cube.css
+++ /dev/null
@@ -1,162 +0,0 @@
-@media (prefers-reduced-motion: no-preference) and
- (min-height: 650px) and (min-width: 650px) {
-
-/* BACKGROUND STUFF */
-
-html {
- --bg-60309: url(../media/bg/60309.png);
- --bg-kesi: url(../media/bg/kesi.png);
- --bg-korai: url(../media/bg/korai.png);
- --bg-mirai: url(../media/bg/mirai.png);
- --bg-niss: url(../media/bg/niss.png);
- --bg-niss2: url(../media/bg/niss2.png);
- --bg-nisse: url(../media/bg/nisse.png);
- --bg-prickly: url(../media/bg/prickly.png);
- --bg-qt: url(../media/bg/qt.png);
- --bg-qt2: url(../media/bg/qt2.png);
-}
-
-@media (prefers-color-scheme: dark) {
- html {
- --bg-60309: url(../media/bg/60309_neon.png);
- --bg-kesi: url(../media/bg/kesi_neon.png);
- --bg-korai: url(../media/bg/korai_neon.png);
- --bg-mirai: url(../media/bg/mirai_neon.png);
- --bg-niss: url(../media/bg/niss_neon.png);
- --bg-niss2: url(../media/bg/niss2_neon.png);
- --bg-nisse: url(../media/bg/nisse_neon.png);
- --bg-prickly: url(../media/bg/prickly_neon.png);
- --bg-qt: url(../media/bg/qt_neon.png);
- --bg-qt2: url(../media/bg/qt2_neon.png);
- }
-}
-
-html {
- background:
- /*
- url(../media/bg/kesi_sprite_front.png) top 100px right no-repeat,
- url(../media/bg/kesi_sprite_mid.png) top 150px center repeat-x,
- url(../media/bg/kesi_sprite_back.png) top 200px left no-repeat,
- */
- var(--bg-60309) bottom 29% right calc(44% - var(--half))
- / auto 17% no-repeat,
- var(--bg-kesi) bottom 23% left calc(44% - var(--half))
- / auto 20% no-repeat,
- var(--bg-korai) bottom left 7% / auto 19% no-repeat,
- var(--bg-mirai) top calc(5em + 3%) right 6% / 20% auto no-repeat,
- var(--bg-niss) top 30% left calc(31% - var(--half))
- / auto 20% no-repeat,
- var(--bg-niss2) top 51% right calc(33% - var(--half))
- / auto 20% no-repeat,
- var(--bg-nisse) top 29% right calc(36% - var(--half))
- / auto 15% no-repeat,
- var(--bg-qt) bottom 41% left calc(24% - var(--half))
- / auto 18% no-repeat,
- var(--bg-qt2) top 10% left calc(46% - var(--half))
- / auto 16% no-repeat,
- var(--bg-prickly) bottom 9% right calc(28% - var(--half))
- / auto 15% no-repeat,
- var(--base-background);
- background-blend-mode: overlay;
-}
-
-@media (prefers-color-scheme: dark) {
- html {
- background-blend-mode: soft-light;
- }
-}
-
-@media (prefers-reduced-data: reduce) {
- html {
- background: var(--base-background);
- background-blend-mode: unset;
- }
-}
-
-
-/* LAYOUT BASICS */
-
-body {
- display: grid;
- grid-template-rows: 5em 1fr;
-
- perspective: 440vw;
- perspective-origin: 50% 120%;
-}
-
-/* MENU ANIMATION */
-
-.menu label { position: relative; }
-.menu label::after {
- content: ' ';
- z-index: -1;
- position: absolute;
- inset: 0 0 100% 0;
- background: hsl(var(--menu-bg-hsl));
- transition: inset .15s linear;
-}
-.menu :checked + label::after {
- bottom: 0;
-}
-
-
-/* CUBE ASSEMBLY */
-/* the rest is in cube.ts */
-
-html {
- --side: min(65vh, 70vw);
- --half: calc(var(--side) * .5);
- --nhalf: calc(0em - var(--half));
- --breathe: calc(var(--side) * .1);
-}
-
-#outer {
- --transform-origin: 50% 50% calc(var(--nhalf) - min(6vh, 6vw));
-}
-
-#outer, #cube {
- transform-style: preserve-3d;
- transform-origin: var(--transform-origin);
- width: calc(var(--side) + 10vw);
- height: calc(var(--side) + 10vh);
- margin: auto;
-}
-
-#cube {
- position: relative;
-}
-
-#cube > section {
- position: absolute;
- inset: 5vh 5vw;
- overflow: auto;
- transform-origin: var(--transform-origin);
- transform: var(--base-transform);
- overscroll-behavior: contain;
-}
-
-@supports (scrollbar-color: pink orange) { /* safari detector */
- #cube:not([data-moving]) > section {
- animation: breathe 9s infinite ease-in-out;
- }
-
- @keyframes breathe {
- 35% { transform: translateZ(var(--breathe)) var(--base-transform); }
- }
-}
-
-@media (prefers-reduced-motion: no-preference) {
- .zoom * { transition: all 0.25s ease-in; }
- .zoom > :hover {
- scale: 110%;
- filter: drop-shadow(4px 4px 5px rgb(0 0 0 / 60%));
- }
- .zoom > :hover:nth-child(5n) { rotate: 4deg; }
- .zoom > :hover:nth-child(5n+1) { rotate: -2deg; }
- .zoom > :hover:nth-child(5n+2) { rotate: 1deg; }
- .zoom > :hover:nth-child(5n+3) { rotate: -3deg; }
- .zoom > :hover:nth-child(10n+4) { rotate: 4deg; }
- .zoom > :hover:nth-child(10n+9) { rotate: -1deg; }
-}
-
-}
diff --git a/style/flat.css b/style/flat.css
deleted file mode 100644
index 92fcc30..0000000
--- a/style/flat.css
+++ /dev/null
@@ -1,114 +0,0 @@
-@media (prefers-reduced-motion: reduce),
- (max-height: 649px), (max-width: 649px) {
-
-html {
- --side: 0px;
- --half: 0px;
- --nhalf: 0px;
-}
-
-/* LAYOUT */
-
-body {
- display: grid;
- grid-template: "menu" 5em "body" 1fr;
- /* height: 100vh; height: 100dvh; */
- /* width: 100vw; width: 100dvw; */
-}
-
-#face-menu { grid-area: menu; }
-#outer { grid-area: body; }
-
-#outer {
- position: relative;
- height: 90%;
- width: 90%;
- margin: auto;
-}
-
-#outer::after {
- content: ' ';
- position: absolute;
- inset: 0;
- box-shadow: 0 0 40px hsl(var(--shadow-hsl) / 40%);
- mix-blend-mode: multiply;
-}
-
-/* not really a cube any more. but */
-#cube, #cube > section {
- position: absolute;
- inset: 0;
-}
-#cube > section { overflow: auto; }
-
-@media (prefers-color-scheme: dark) {
- html { --shadow-hsl: 60deg 100% 96%; }
-}
-
-
-/* BACKGROUND FIXES */
-
-@media (max-width: 649px) {
- #cube #hello {
- background-size: auto 80%, auto, auto;
- background-position: bottom -20% right 60%, center, center;
- }
-}
-
-@media (max-height: 649px) {
- #cube #hello {
- background-size: auto 80%, auto, auto;
- background-position: bottom right, center, center;
- }
-}
-
-
-@media (max-width: 649px) {
- #cube #activities {
- background-size: auto 30%, auto, auto;
- background-position: bottom left 70%, center, center;
- }
-}
-
-#cube #six {
- background-position: bottom left 70%, center, center;
-}
-
-@media (max-width: 649px) {
- #cube #six {
- background-size: auto 100%, auto, auto;
- background-position: bottom left 70%, center, center;
- }
-}
-
-@media (max-height: 649px) {
- #cube #six {
- background-size: cover;
- background-position: top 15% center;
- }
-}
-
-
-/* TRANSITIONS */
-
-#face-menu :checked + label {
- background: hsl(var(--menu-bg-hsl));
-}
-#face-menu label {
- transition: background 0.1s ease-in;
-}
-
-#cube > section[data-selected=true] {
- z-index: 1;
- opacity: 1;
- transition: opacity 0.1s ease-in;
-}
-
-#cube > section[data-selected=false] {
- z-index: -1;
- opacity: 0;
- transition: opacity 0s 0.1s ease-in;
-}
-/* todo make sure this works ok with screen readers */
-
-}
diff --git a/style/static.css b/style/static.css
deleted file mode 100644
index 94d7519..0000000
--- a/style/static.css
+++ /dev/null
@@ -1,57 +0,0 @@
-/* (removing the cube shadow) */
-html { background: var(--gradient) fixed; }
-
-body { display: unset; }
-
-/* doesn't do anything without js */
-#face-menu { display: none; }
-
-#outer, #cube {
- position: unset;
- height: unset;
- width: unset;
- max-width: max(100%, 45em);
-}
-
-#outer::after {
- display: none;
-}
-
-#outer {
- margin: 2em auto 5em;
- padding: 0 1em;
-}
-
-#cube > section {
- position: relative;
- inset: unset;
- overflow: unset;
-}
-#cube > section + section {
- margin-top: 2em;
-}
-#cube > section::after {
- content: ' ';
- position: absolute;
- inset: calc(0px - var(--border-thickness));
- box-shadow: 0 0 40px hsl(var(--shadow-hsl) / 40%);
- mix-blend-mode: multiply;
- pointer-events: none;
-}
-
-#cube #hello {
- background-size: auto 95%, auto, auto;
- background-position: bottom right;
- padding-right: 45%;
-}
-
-#cube #activities {
- background-size: auto 5em, auto, auto;
- background-position: bottom left;
- padding-bottom: 6em;
-}
-
-#cube #six {
- background-size: auto 100%, auto, auto;
- background-position: bottom right;
-}
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index 309f42d..0000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "compilerOptions": {
- "strict": true,
- "noUncheckedIndexedAccess": true,
- "noEmitOnError": true,
- "lib": ["ES2021", "dom"],
- "target": "ES2015"
- }
-}
diff --git a/where.css b/where.css
new file mode 100644
index 0000000..eca8378
--- /dev/null
+++ b/where.css
@@ -0,0 +1,49 @@
+@import url(base.css);
+
+main { max-width: 1100px; }
+
+#headerpic {
+ position: relative;
+ width: min-content;
+ margin: auto;
+
+ figcaption {
+ position: absolute;
+ bottom: 1.5em;
+ right: 2.5em;
+ font-style: italic;
+ }
+
+ img { filter: drop-shadow(0 0 30px var(--glow-col)); }
+}
+
+#contact {
+ grid-template-columns: repeat(2, auto auto);
+ row-gap: 0.5em;
+ width: 85%;
+ margin: auto;
+
+ img {
+ vertical-align: middle;
+ height: 1.2em; width: 1.2em;
+ }
+}
+
+.o {
+ filter:
+ drop-shadow(0.5px 0.5px black)
+ drop-shadow(-0.5px 0.5px black)
+ drop-shadow(-0.5px -0.5px black)
+ drop-shadow(0.5px -0.5px black);
+}
+
+.other { padding-top: 0.5em; }
+dt.other {
+ display: flex;
+ justify-content: end;
+ align-items: center;
+ gap: 5px;
+}
+dd.other {
+ grid-area: auto / 2 / auto / 5;
+}
diff --git a/where.html b/where.html
new file mode 100644
index 0000000..28faea4
--- /dev/null
+++ b/where.html
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+where to find me
+
+
+
+
+
+
+
+ fedi
+ niss@chitter.xyz
+
+ cohost
+ @niss
+
+ matrix
+ g:cybre.space
+
+ xmpp
+ nissĀ Ā yummy.cricket
+
+ email
+ nissĀ Ā niss.website
+
+ pgp key
+ here
+
+ other
+ if weāre friends, then ask
+
+
+
+
+
+ html+rss here
+ itaku niss
+ weasyl niss
+ furaffinity niss
+ deviantart 2gecs
+ ko-fi nissss
+
+
+
+
+
other stuff
- --- fediverse
-
-
- bluesky
-
-