diff --git a/app/build.gradle b/app/build.gradle
index 920bb259c1447da17b1c9597ba4b2e7806da5e1e..db8f4a58b109a2c6da74776052d46207cda03e74 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,8 +8,8 @@ android {
         applicationId "org.benoitharrault.ameixanonfree"
         minSdkVersion 16
         targetSdkVersion 30
-        versionCode 162
-        versionName "1.87.0"
+        versionCode 163
+        versionName "1.88.0"
         archivesBaseName = "$applicationId" + "_" + "$versionCode"
     }
 
diff --git a/app/src/chromatic/res/drawable-hdpi/jeweled.png b/app/src/chromatic/res/drawable-hdpi/jeweled.png
new file mode 100644
index 0000000000000000000000000000000000000000..6fa4955de685fe519d79148192f50033e4f14647
Binary files /dev/null and b/app/src/chromatic/res/drawable-hdpi/jeweled.png differ
diff --git a/app/src/chromatic/res/drawable-hdpi/midisynth.png b/app/src/chromatic/res/drawable-hdpi/midisynth.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ae8f35eaabb43a3d94ade8643006e362d25ba70
Binary files /dev/null and b/app/src/chromatic/res/drawable-hdpi/midisynth.png differ
diff --git a/app/src/chromatic/res/drawable-hdpi/random.png b/app/src/chromatic/res/drawable-hdpi/random.png
index fe101ccb9356c1012ae4cd662f4fb99894fc04bf..62c01a5dae9689e04a167ee114c43fbb7b98ad10 100644
Binary files a/app/src/chromatic/res/drawable-hdpi/random.png and b/app/src/chromatic/res/drawable-hdpi/random.png differ
diff --git a/app/src/chromatic/res/drawable-hdpi/scrobbles.png b/app/src/chromatic/res/drawable-hdpi/scrobbles.png
new file mode 100644
index 0000000000000000000000000000000000000000..3ee4c5a5ebbad5d6d063e11e18078a654e8bff81
Binary files /dev/null and b/app/src/chromatic/res/drawable-hdpi/scrobbles.png differ
diff --git a/app/src/chromatic/res/drawable-hdpi/spotifyplaylistgenerator.png b/app/src/chromatic/res/drawable-hdpi/spotifyplaylistgenerator.png
new file mode 100644
index 0000000000000000000000000000000000000000..74a9ee0aacc8ec727f6a7ea8d178213824846e20
Binary files /dev/null and b/app/src/chromatic/res/drawable-hdpi/spotifyplaylistgenerator.png differ
diff --git a/app/src/chromatic/res/drawable-hdpi/stopmotion.png b/app/src/chromatic/res/drawable-hdpi/stopmotion.png
new file mode 100644
index 0000000000000000000000000000000000000000..579151d3ca5f948d110b81bdeff3e28cbefc494b
Binary files /dev/null and b/app/src/chromatic/res/drawable-hdpi/stopmotion.png differ
diff --git a/app/src/chromatic/res/drawable-hdpi/tetrisdual.png b/app/src/chromatic/res/drawable-hdpi/tetrisdual.png
new file mode 100644
index 0000000000000000000000000000000000000000..5830b7df0c882da47d2a88d1e27255248f2cb8a4
Binary files /dev/null and b/app/src/chromatic/res/drawable-hdpi/tetrisdual.png differ
diff --git a/app/src/chromatic/res/drawable-mdpi/jeweled.png b/app/src/chromatic/res/drawable-mdpi/jeweled.png
new file mode 100644
index 0000000000000000000000000000000000000000..af62f291acc716c8f4425466339b17160f72b031
Binary files /dev/null and b/app/src/chromatic/res/drawable-mdpi/jeweled.png differ
diff --git a/app/src/chromatic/res/drawable-mdpi/midisynth.png b/app/src/chromatic/res/drawable-mdpi/midisynth.png
new file mode 100644
index 0000000000000000000000000000000000000000..33fdd7664a3ff97b07645ad96cbafe59b9e7e0a6
Binary files /dev/null and b/app/src/chromatic/res/drawable-mdpi/midisynth.png differ
diff --git a/app/src/chromatic/res/drawable-mdpi/random.png b/app/src/chromatic/res/drawable-mdpi/random.png
index b72f6c36549352f4d197754d6157d721a0e6fac9..acc2993e88f04d66512f76694ad7f95c63d83070 100644
Binary files a/app/src/chromatic/res/drawable-mdpi/random.png and b/app/src/chromatic/res/drawable-mdpi/random.png differ
diff --git a/app/src/chromatic/res/drawable-mdpi/scrobbles.png b/app/src/chromatic/res/drawable-mdpi/scrobbles.png
new file mode 100644
index 0000000000000000000000000000000000000000..65b454bd9ef2882b1318062fd75278a816a5c355
Binary files /dev/null and b/app/src/chromatic/res/drawable-mdpi/scrobbles.png differ
diff --git a/app/src/chromatic/res/drawable-mdpi/spotifyplaylistgenerator.png b/app/src/chromatic/res/drawable-mdpi/spotifyplaylistgenerator.png
new file mode 100644
index 0000000000000000000000000000000000000000..a675d24f32f3670fd492402120f2ae7ee9429409
Binary files /dev/null and b/app/src/chromatic/res/drawable-mdpi/spotifyplaylistgenerator.png differ
diff --git a/app/src/chromatic/res/drawable-mdpi/stopmotion.png b/app/src/chromatic/res/drawable-mdpi/stopmotion.png
new file mode 100644
index 0000000000000000000000000000000000000000..a767305e592285b1a6967a27127ec106f0e6fdab
Binary files /dev/null and b/app/src/chromatic/res/drawable-mdpi/stopmotion.png differ
diff --git a/app/src/chromatic/res/drawable-mdpi/tetrisdual.png b/app/src/chromatic/res/drawable-mdpi/tetrisdual.png
new file mode 100644
index 0000000000000000000000000000000000000000..95f4cd04724ffe1b565a075130f88c29199e08c5
Binary files /dev/null and b/app/src/chromatic/res/drawable-mdpi/tetrisdual.png differ
diff --git a/app/src/chromatic/res/drawable-xhdpi/jeweled.png b/app/src/chromatic/res/drawable-xhdpi/jeweled.png
new file mode 100644
index 0000000000000000000000000000000000000000..d60dee22cf94e0042612cf64ca8b20fe30361da4
Binary files /dev/null and b/app/src/chromatic/res/drawable-xhdpi/jeweled.png differ
diff --git a/app/src/chromatic/res/drawable-xhdpi/midisynth.png b/app/src/chromatic/res/drawable-xhdpi/midisynth.png
new file mode 100644
index 0000000000000000000000000000000000000000..88bb3cc5294aa2bce16454c37d70750a9e3c1be3
Binary files /dev/null and b/app/src/chromatic/res/drawable-xhdpi/midisynth.png differ
diff --git a/app/src/chromatic/res/drawable-xhdpi/random.png b/app/src/chromatic/res/drawable-xhdpi/random.png
index 71b5b8cee003105523dc9c05ff3cfe4469c9c390..56c8809368895db83b25e3b339cace871e0d7bd7 100644
Binary files a/app/src/chromatic/res/drawable-xhdpi/random.png and b/app/src/chromatic/res/drawable-xhdpi/random.png differ
diff --git a/app/src/chromatic/res/drawable-xhdpi/scrobbles.png b/app/src/chromatic/res/drawable-xhdpi/scrobbles.png
new file mode 100644
index 0000000000000000000000000000000000000000..a49000fee97c5bc5bc8b81d3f9e6bb7ba269b96a
Binary files /dev/null and b/app/src/chromatic/res/drawable-xhdpi/scrobbles.png differ
diff --git a/app/src/chromatic/res/drawable-xhdpi/spotifyplaylistgenerator.png b/app/src/chromatic/res/drawable-xhdpi/spotifyplaylistgenerator.png
new file mode 100644
index 0000000000000000000000000000000000000000..09b894d31436ddc04c6280bcd78a512146d6c058
Binary files /dev/null and b/app/src/chromatic/res/drawable-xhdpi/spotifyplaylistgenerator.png differ
diff --git a/app/src/chromatic/res/drawable-xhdpi/stopmotion.png b/app/src/chromatic/res/drawable-xhdpi/stopmotion.png
new file mode 100644
index 0000000000000000000000000000000000000000..073f304eef1481a76d205d9e4f1f7d14590bb88d
Binary files /dev/null and b/app/src/chromatic/res/drawable-xhdpi/stopmotion.png differ
diff --git a/app/src/chromatic/res/drawable-xhdpi/tetrisdual.png b/app/src/chromatic/res/drawable-xhdpi/tetrisdual.png
new file mode 100644
index 0000000000000000000000000000000000000000..67b6e3c65df2d2b4e201f6681ca19e5fb8c6c79e
Binary files /dev/null and b/app/src/chromatic/res/drawable-xhdpi/tetrisdual.png differ
diff --git a/app/src/chromatic/res/drawable-xxhdpi/jeweled.png b/app/src/chromatic/res/drawable-xxhdpi/jeweled.png
new file mode 100644
index 0000000000000000000000000000000000000000..44d047bcff12633255d1515abc6e40262a0ed3a2
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxhdpi/jeweled.png differ
diff --git a/app/src/chromatic/res/drawable-xxhdpi/midisynth.png b/app/src/chromatic/res/drawable-xxhdpi/midisynth.png
new file mode 100644
index 0000000000000000000000000000000000000000..e784e5626218e3e83dddb4954b00f4f9d48d7c53
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxhdpi/midisynth.png differ
diff --git a/app/src/chromatic/res/drawable-xxhdpi/random.png b/app/src/chromatic/res/drawable-xxhdpi/random.png
index a5edab2a1a288d06ba5ecdbc18501512cc10871d..e7cff763504435874a2b5d10b81867813b03740d 100644
Binary files a/app/src/chromatic/res/drawable-xxhdpi/random.png and b/app/src/chromatic/res/drawable-xxhdpi/random.png differ
diff --git a/app/src/chromatic/res/drawable-xxhdpi/scrobbles.png b/app/src/chromatic/res/drawable-xxhdpi/scrobbles.png
new file mode 100644
index 0000000000000000000000000000000000000000..2295a28779d0e5efe59f870f66a5dd64ed5d2635
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxhdpi/scrobbles.png differ
diff --git a/app/src/chromatic/res/drawable-xxhdpi/spotifyplaylistgenerator.png b/app/src/chromatic/res/drawable-xxhdpi/spotifyplaylistgenerator.png
new file mode 100644
index 0000000000000000000000000000000000000000..79282b3a43b5672f94200ab8269e3981ac238ed8
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxhdpi/spotifyplaylistgenerator.png differ
diff --git a/app/src/chromatic/res/drawable-xxhdpi/stopmotion.png b/app/src/chromatic/res/drawable-xxhdpi/stopmotion.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0d27afbb9aee3273cefc225a191b2db9827a644
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxhdpi/stopmotion.png differ
diff --git a/app/src/chromatic/res/drawable-xxhdpi/tetrisdual.png b/app/src/chromatic/res/drawable-xxhdpi/tetrisdual.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2e13e8735e115840b0d62aa7f340131f83ea428
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxhdpi/tetrisdual.png differ
diff --git a/app/src/chromatic/res/drawable-xxxhdpi/jeweled.png b/app/src/chromatic/res/drawable-xxxhdpi/jeweled.png
new file mode 100644
index 0000000000000000000000000000000000000000..c65085f70e2887d1ab0148e64a56d9d944063f29
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxxhdpi/jeweled.png differ
diff --git a/app/src/chromatic/res/drawable-xxxhdpi/midisynth.png b/app/src/chromatic/res/drawable-xxxhdpi/midisynth.png
new file mode 100644
index 0000000000000000000000000000000000000000..e04f7f59227462afd96780ffe8708a58eb55be41
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxxhdpi/midisynth.png differ
diff --git a/app/src/chromatic/res/drawable-xxxhdpi/random.png b/app/src/chromatic/res/drawable-xxxhdpi/random.png
index b3c5f26f8982cfdbe370d0330802290d3054376b..b905ded91d5e57edfd2f3aef67f9691b1f375c5f 100644
Binary files a/app/src/chromatic/res/drawable-xxxhdpi/random.png and b/app/src/chromatic/res/drawable-xxxhdpi/random.png differ
diff --git a/app/src/chromatic/res/drawable-xxxhdpi/scrobbles.png b/app/src/chromatic/res/drawable-xxxhdpi/scrobbles.png
new file mode 100644
index 0000000000000000000000000000000000000000..c19e421325fd82d302ad7a45eb6d78733ae4b9b5
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxxhdpi/scrobbles.png differ
diff --git a/app/src/chromatic/res/drawable-xxxhdpi/spotifyplaylistgenerator.png b/app/src/chromatic/res/drawable-xxxhdpi/spotifyplaylistgenerator.png
new file mode 100644
index 0000000000000000000000000000000000000000..0903450ab8c22a56a0174bc89360516ad40a1df3
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxxhdpi/spotifyplaylistgenerator.png differ
diff --git a/app/src/chromatic/res/drawable-xxxhdpi/stopmotion.png b/app/src/chromatic/res/drawable-xxxhdpi/stopmotion.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5282f34002739e13e72e468acddaa2adde8d126
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxxhdpi/stopmotion.png differ
diff --git a/app/src/chromatic/res/drawable-xxxhdpi/tetrisdual.png b/app/src/chromatic/res/drawable-xxxhdpi/tetrisdual.png
new file mode 100644
index 0000000000000000000000000000000000000000..ddc92d84d8d940fef94215f504cdf16245d865c7
Binary files /dev/null and b/app/src/chromatic/res/drawable-xxxhdpi/tetrisdual.png differ
diff --git a/app/src/main/res/values/iconpack.xml b/app/src/main/res/values/iconpack.xml
index 3185a6b9cfa0a5cb2b86f2bee50b664540515fd3..14cfb28606da30fc2c26f6ffb6f89dac584f0089 100644
--- a/app/src/main/res/values/iconpack.xml
+++ b/app/src/main/res/values/iconpack.xml
@@ -495,6 +495,7 @@
         <item>jaws</item>
         <item>jedentageinset</item>
         <item>jellyfin</item>
+        <item>jeweled</item>
         <item>jiten</item>
         <item>jitsi</item>
         <item>joplin</item>
@@ -620,6 +621,7 @@
         <item>microg</item>
         <item>micromath</item>
         <item>midisheetmusic</item>
+        <item>midisynth</item>
         <item>midrop</item>
         <item>mifare</item>
         <item>mimanganu</item>
@@ -1079,6 +1081,7 @@
         <item>screennotifications</item>
         <item>screenshotsharer</item>
         <item>screenstream</item>
+        <item>scrobbles</item>
         <item>scummvm</item>
         <item>sdscanner</item>
         <item>seadroid2</item>
@@ -1205,6 +1208,7 @@
         <item>sparss</item>
         <item>speedmeter</item>
         <item>spiritf</item>
+        <item>spotifyplaylistgenerator</item>
         <item>spydroid</item>
         <item>sqrl</item>
         <item>squeez</item>
@@ -1215,6 +1219,7 @@
         <item>starun</item>
         <item>steamgifts</item>
         <item>stellarium</item>
+        <item>stopmotion</item>
         <item>streetcomplete</item>
         <item>stringlate</item>
         <item>subsonic</item>
@@ -1272,6 +1277,7 @@
         <item>termuxwidget</item>
         <item>testnet3</item>
         <item>tethercompanion</item>
+        <item>tetrisdual</item>
         <item>textfiction</item>
         <item>textsecure</item>
         <item>textwarrior</item>
diff --git a/app/src/main/res/xml/appfilter.xml b/app/src/main/res/xml/appfilter.xml
index a2ad53802a7ec9a24616525302caa1e75e97c5cd..8aad8de502ae7054a3ba841d6953607ecd54523d 100644
--- a/app/src/main/res/xml/appfilter.xml
+++ b/app/src/main/res/xml/appfilter.xml
@@ -8341,9 +8341,15 @@
     <item
         component="ComponentInfo{org.benoitharrault.hangman/org.benoitharrault.hangman.MainActivity}"
         drawable="hangman" />
+    <item
+        component="ComponentInfo{org.benoitharrault.jeweled/org.benoitharrault.jeweled.MainActivity}"
+        drawable="jeweled" />
     <item
         component="ComponentInfo{org.benoitharrault.memory/org.benoitharrault.memory.MainActivity}"
         drawable="memory" />
+    <item
+        component="ComponentInfo{org.benoitharrault.midisynth/org.benoitharrault.midisynth.MainActivity}"
+        drawable="midisynth" />
     <item
         component="ComponentInfo{org.benoitharrault.minehunter/org.benoitharrault.minehunter.MainActivity}"
         drawable="minehunter" />
@@ -8368,15 +8374,30 @@
     <item
         component="ComponentInfo{org.benoitharrault.reversi/org.benoitharrault.reversi.MainActivity}"
         drawable="reversi" />
+    <item
+        component="ComponentInfo{org.benoitharrault.scrobbles/org.benoitharrault.scrobbles.MainActivity}"
+        drawable="scrobbles" />
     <item
         component="ComponentInfo{org.benoitharrault.snake/org.benoitharrault.snake.MainActivity}"
         drawable="snake" />
+    <item
+        component="ComponentInfo{org.benoitharrault.solitaire/org.benoitharrault.solitaire.MainActivity}"
+        drawable="solitaire" />
     <item
         component="ComponentInfo{org.benoitharrault.sortgame/org.benoitharrault.sortgame.MainActivity}"
         drawable="sortgame" />
+    <item
+        component="ComponentInfo{org.benoitharrault.spotifyplaylistgenerator/org.benoitharrault.spotifyplaylistgenerator.MainActivity}"
+        drawable="spotifyplaylistgenerator" />
+    <item
+        component="ComponentInfo{org.benoitharrault.stopmotion/org.benoitharrault.stopmotion.MainActivity}"
+        drawable="stopmotion" />
     <item
         component="ComponentInfo{org.benoitharrault.sudoku/org.benoitharrault.sudoku.MainActivity}"
         drawable="sudoku" />
+    <item
+        component="ComponentInfo{org.benoitharrault.tetrisdual/org.benoitharrault.tetrisdual.MainActivity}"
+        drawable="tetrisdual" />
     <item
         component="ComponentInfo{org.benoitharrault.twister/org.benoitharrault.twister.MainActivity}"
         drawable="twister" />
diff --git a/app/src/main/res/xml/drawable.xml b/app/src/main/res/xml/drawable.xml
index e4d5bf27b30d3ee1022baaaf0678cf2eadb3d627..ca149479c76d37fe16355988b99797fd5f86ed9f 100644
--- a/app/src/main/res/xml/drawable.xml
+++ b/app/src/main/res/xml/drawable.xml
@@ -495,6 +495,7 @@
     <item drawable="jaws" />
     <item drawable="jedentageinset" />
     <item drawable="jellyfin" />
+    <item drawable="jeweled" />
     <item drawable="jiten" />
     <item drawable="jitsi" />
     <item drawable="joplin" />
@@ -620,6 +621,7 @@
     <item drawable="microg" />
     <item drawable="micromath" />
     <item drawable="midisheetmusic" />
+    <item drawable="midisynth" />
     <item drawable="midrop" />
     <item drawable="mifare" />
     <item drawable="mimanganu" />
@@ -1079,6 +1081,7 @@
     <item drawable="screennotifications" />
     <item drawable="screenshotsharer" />
     <item drawable="screenstream" />
+    <item drawable="scrobbles" />
     <item drawable="scummvm" />
     <item drawable="sdscanner" />
     <item drawable="seadroid2" />
@@ -1205,6 +1208,7 @@
     <item drawable="sparss" />
     <item drawable="speedmeter" />
     <item drawable="spiritf" />
+    <item drawable="spotifyplaylistgenerator" />
     <item drawable="spydroid" />
     <item drawable="sqrl" />
     <item drawable="squeez" />
@@ -1215,6 +1219,7 @@
     <item drawable="starun" />
     <item drawable="steamgifts" />
     <item drawable="stellarium" />
+    <item drawable="stopmotion" />
     <item drawable="streetcomplete" />
     <item drawable="stringlate" />
     <item drawable="subsonic" />
@@ -1272,6 +1277,7 @@
     <item drawable="termuxwidget" />
     <item drawable="testnet3" />
     <item drawable="tethercompanion" />
+    <item drawable="tetrisdual" />
     <item drawable="textfiction" />
     <item drawable="textsecure" />
     <item drawable="textwarrior" />
diff --git a/icons/chromatic/jeweled.svg b/icons/chromatic/jeweled.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fc0271221f68c95716c537d4d58afebe70d14487
--- /dev/null
+++ b/icons/chromatic/jeweled.svg
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 28.747 28.747" xmlns="http://www.w3.org/2000/svg">
+    <defs>
+        <filter id="filter6206-7" x="-.072" y="-.072001" width="1.144" height="1.144" color-interpolation-filters="sRGB">
+            <feGaussianBlur stdDeviation="0.658125"/>
+        </filter>
+    </defs>
+    <g transform="translate(0 -1093.8)">
+        <path transform="matrix(1.0781 0 0 1.0641 -.093733 2.7509)" d="m4.4177 1028.2v1.6051h-1.6052v18.192h1.6052v2.1402h18.192v-2.1402h2.1402v-18.192h-2.1402v-1.6051z" fill="#1a237e" filter="url(#filter6206-7)" opacity=".2"/>
+        <rect x="2.9987" y="1096.8" width="22.749" height="22.749" rx="1.1973" ry="1.1974" fill="#3f51b5"/>
+        <g transform="translate(-22.32 1056.5)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            <g transform="matrix(.33601 0 0 .33601 1.5296 73.043)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            </g>
+            <g transform="matrix(.37187 0 0 .37187 38.802 63.239)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                <g transform="matrix(2.6891 0 0 2.6891 -82.906 -48.45)">
+                    <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                </g>
+            </g>
+        </g>
+        <path d="m4.1958 1096.8c-0.66332 0-1.1979 0.5346-1.1979 1.1979v0.3334c0-0.6634 0.53459-1.1979 1.1979-1.1979h20.354c0.66332 0 1.1979 0.5345 1.1979 1.1979v-0.3334c0-0.6633-0.5346-1.1979-1.1979-1.1979z" fill="#fff" opacity=".2"/>
+        <rect x="128" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="160" y="578.52" width="192" height="192" fill="none" stroke-width="1.0667"/>
+        <g transform="matrix(.37344 0 0 .37344 4.7333 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.36471 0 0 .36471 5.1356 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.41585 0 0 .41585 84.325 1055.9)">
+            <g transform="matrix(.062269 0 0 .062269 -28.238 185.29)">
+                <g transform="matrix(38.618 0 0 38.618 14724 -13542)">
+                    <g transform="matrix(.71436 0 0 .71436 -400.52 188.34)">
+                        <path d="m1293.2-120.67c-181.75 0.2763-511.18 0.13525-699.05 0.13998-2.3216 10.413-3.593 21.251-3.593 32.384v114c207.65 0.73695 494.72 0.38136 706.23 0.3733v-114.37c0-11.18-1.2522-22.07-3.593-32.523zm-458.69 295.56c-78.385-4e-3 -158.85 0.17892-243.95 0.55995v138.63c286.34-0.39317 421.73-0.13827 706.23-0.32664v-137.75c-163.2-0.53005-311.22-1.1113-462.28-1.1199z" opacity="0" stroke-width="1.4932"/>
+                    </g>
+                </g>
+            </g>
+        </g>
+        <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#1a237e" opacity=".2"/>
+    </g>
+    <path d="m20.837 12.744-1.8134-4.0827c-0.0382-0.08507-0.10022-0.15726-0.17848-0.20802-0.07825-0.05076-0.16949-0.07782-0.26279-0.078035h-8.4126c-0.09405-7.585e-4 -0.18638 0.025867-0.26549 0.076736-0.079231 0.05076-0.142 0.12349-0.18053 0.20932l-1.8134 4.0827c-0.037231 0.0842-0.049678 0.17718-0.035937 0.2682 0.013741 0.09103 0.053145 0.17631 0.11343 0.2458l6.0175 6.9435c0.09211 0.10769 0.22675 0.16971 0.36854 0.16971s0.27643-0.06201 0.36854-0.16971l6.0175-6.9435c0.06029-0.06948 0.09968-0.15477 0.11343-0.2458 0.01374-0.09102 0.0013-0.18399-0.03594-0.2682zm-4.1215 0.48488-2.3419 6.1045-2.3419-6.1095zm-4.5773-0.48488 2.2353-3.6416 2.2353 3.656zm2.6668-3.8791h3.5784l-1.377 3.6025zm-3.0645 3.6025-1.377-3.6075h3.5784zm2.0801 6.7883-5.222-6.0319h2.9093zm3.3942-6.0222h2.9093l-5.1979 6.0125zm0.18421-0.48488 1.3384-3.4959 1.5516 3.4862zm-7.3896-3.4959 1.3189 3.4862h-2.9093z" fill="#fff" stroke="#fff" stroke-width=".628"/>
+</svg>
diff --git a/icons/chromatic/midisynth.svg b/icons/chromatic/midisynth.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7b7d4dd1ded53c009f70c995737a6d5303088d71
--- /dev/null
+++ b/icons/chromatic/midisynth.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 28.747 28.747" xmlns="http://www.w3.org/2000/svg">
+    <defs>
+        <filter id="filter6206-7" x="-.072" y="-.072" width="1.144" height="1.144" color-interpolation-filters="sRGB">
+            <feGaussianBlur stdDeviation="0.658125"/>
+        </filter>
+    </defs>
+    <g transform="translate(0 -1093.8)">
+        <path transform="matrix(1.0781 0 0 1.0641 -.093733 2.7509)" d="m4.4177 1028.2v1.6051h-1.6052v18.192h1.6052v2.1402h18.192v-2.1402h2.1402v-18.192h-2.1402v-1.6051z" fill="#1a237e" filter="url(#filter6206-7)" opacity=".2"/>
+        <rect x="2.9987" y="1096.8" width="22.749" height="22.749" rx="1.1973" ry="1.1974" fill="#9c27b0"/>
+        <g transform="translate(-22.32 1056.5)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            <g transform="matrix(.33601 0 0 .33601 1.5296 73.043)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            </g>
+            <g transform="matrix(.37187 0 0 .37187 38.802 63.239)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                <g transform="matrix(2.6891 0 0 2.6891 -82.906 -48.45)">
+                    <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                </g>
+            </g>
+        </g>
+        <path d="m4.1958 1096.8c-0.66332 0-1.1979 0.5346-1.1979 1.1979v0.3334c0-0.6634 0.53459-1.1979 1.1979-1.1979h20.354c0.66332 0 1.1979 0.5345 1.1979 1.1979v-0.3334c0-0.6633-0.5346-1.1979-1.1979-1.1979z" fill="#fff" opacity=".2"/>
+        <rect x="128" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="160" y="578.52" width="192" height="192" fill="none" stroke-width="1.0667"/>
+        <g transform="matrix(.37344 0 0 .37344 4.7333 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.36471 0 0 .36471 5.1356 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.41585 0 0 .41585 84.325 1055.9)">
+            <g transform="matrix(.062269 0 0 .062269 -28.238 185.29)">
+                <g transform="matrix(38.618 0 0 38.618 14724 -13542)">
+                    <g transform="matrix(.71436 0 0 .71436 -400.52 188.34)">
+                        <path d="m1293.2-120.67c-181.75 0.2763-511.18 0.13525-699.05 0.13998-2.3216 10.413-3.593 21.251-3.593 32.384v114c207.65 0.73695 494.72 0.38136 706.23 0.3733v-114.37c0-11.18-1.2522-22.07-3.593-32.523zm-458.69 295.56c-78.385-4e-3 -158.85 0.17892-243.95 0.55995v138.63c286.34-0.39317 421.73-0.13827 706.23-0.32664v-137.75c-163.2-0.53005-311.22-1.1113-462.28-1.1199z" opacity="0" stroke-width="1.4932"/>
+                    </g>
+                </g>
+            </g>
+        </g>
+        <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#1a237e" opacity=".2"/>
+    </g>
+    <g transform="matrix(.030895 0 0 .030895 3.56 1.0629)" fill="#fff">
+        <path d="m561.01 391.11h-422.01c-11.246 0-20.406 9.1445-20.406 20.391v128.86c0 11.246 9.1445 20.406 20.406 20.406h422.01c5.9531 0 11.316-2.5664 15.043-6.6445h1.3984v-1.707c2.4844-3.3711 3.9492-7.5508 3.9492-12.051v-128.86c0-11.25-9.1445-20.391-20.391-20.391zm-368.74 154.72h-53.27c-3.0195 0-5.4609-2.457-5.4609-5.4609v-128.87c0-2.0469 1.1289-3.8242 2.7812-4.7539 13.617 0.0156 27.461-0.21094 40.754 0.15625 0.49219 58.039-0.16797 31.211 0.32422 89.261 4.5703 0.53516 10.273-0.16797 14.844 0.35156 0.25391 40.805 0.26953 8.3872 0.0273 49.305zm64.574 0h-62.852c-0.22656-40.922-0.22656-8.5042 0.043-49.305 4.9531-0.53516 11.035 0.18359 15.988-0.35156 0.38281-57.984 0.0547-30.601 0.16797-88.901 0.0859-0.25391 0.25391-0.4375 0.49219-0.53516 10.004 0.11328 20.434-0.23828 30.168 0.18359 0.38281 58.039 0.0547 30.731 0.15625 89.081 4.2344 0.55078 10.895-0.18359 15.664 0.35156 0.60937 40.457 0.33984 8.4652 0.17187 49.465zm63.598 0h-61.75c-0.53516-40.527-0.22656-9.3522-0.0703-49.485 4.5859-0.41016 10.684-0.0547 15-0.18359 0.76172-57.434 0.11328-31.281 0.32422-88.901 0-0.30859 0.12891-0.46484 0.32422-0.53516 15.383 0.11328 31.199-0.23828 46.312 0.18359-0.0977 99.02 0.21484 39.517-0.14062 138.92zm63.953 0h-62.188c-0.25391-99.383-0.25391-39.407 0.0156-138.75 0.11328-0.16797 0.29688-0.26953 0.49219-0.36719 15.227 0.11328 30.875-0.23828 45.832 0.18359 0.38281 57.926 0.0547 30.491 0.16797 88.721 4.5703 0.83203 10.539 0.12891 15.648 0.35156 0.24219 41 0.25781 8.7502 0.0312 49.855zm63.289 0h-61.566c-0.23828-41.09-0.22656-8.8602 0.043-49.855 5.0664-0.11328 10.539 0.23828 15.324-0.18359 0.38281-57.871 0.0547-30.381 0.16797-88.541 0.0977-0.25391 0.25391-0.4375 0.49219-0.53516 9.8359 0.11328 20.109-0.23828 29.676 0.18359 0.49219 58.168-0.16797 31.451 0.32422 89.611 4.8398 0.53516 10.809-0.16797 15.648 0.36719-0.0977 40.344-0.10938 8.1671-0.10938 48.945zm65.051 0h-63.23c-0.52344-40.43-0.22656-8.2662-0.0703-48.945 4.6836-0.53516 10.484 0.16797 15.168-0.36719 0.59375-50.25 0.32422-16.321 0.32422-67.531 0-7.2539-0.12891-15.238 0.16797-21.902 0.11328-0.16797 0.29688-0.26953 0.49219-0.36719 10.273 0.11328 20.984-0.23828 30.988 0.18359 0.38281 57.926 0.0547 31.451 0.15625 89.081 4.2891 0.66406 11.43-0.41016 15.988 0.53516 0.24219 40.816 0.25781 8.3992 0.0156 49.325zm53.734-5.4727c0 3.0195-2.457 5.4609-5.4609 5.4609h-46.539c-0.23828-40.797-0.22656-9.2272 0.043-49.485 4.6289-0.41016 9.9492-0.0547 14.844-0.18359 0.76172-57.434 0.11328-31.281 0.32422-88.901-0.0156-0.30859 0.12891-0.46484 0.32422-0.53516 11.133 0.0859 22.492-0.0859 33.641-0.0156 1.6914 0.92969 2.8359 2.7227 2.8359 4.7969l4e-3 128.86z" fill-rule="evenodd"/>
+        <path d="m241.58 300.89c-11.246 0-20.407 9.1456-20.407 20.392l1e-3 77.093 257.65 2e-3 2e-3 -77.092c0-11.25-9.1442-20.391-20.391-20.391v-4e-3zm37.444 25.037h15.312l10.625 24.968 10.688-24.968h15.281v46.655h-11.375v-34.125l-10.75 25.157h-7.6245l-10.75-25.157v34.125h-11.405zm60.199 0h12.032v46.655h-12.032zm20.326 0h12.687c3.1042 0 5.7192 0.0824 7.8442 0.24902 2.125 0.14584 4.2599 0.44841 6.4058 0.90674 2.1458 0.4375 4.062 1.1151 5.7495 2.0317 1.7083 0.89583 3.2922 2.0521 4.7505 3.4688 4.3125 4.1667 6.4688 9.7079 6.4688 16.625 0 2.5417-0.29118 4.9067-0.87451 7.0942-0.58334 2.1875-1.3646 4.0724-2.3438 5.6558-0.97917 1.5625-2.1468 2.9688-3.501 4.2188-1.3333 1.25-2.7282 2.2599-4.1865 3.0308-1.4375 0.77084-2.9588 1.3958-4.563 1.875-3.5 1-8.75 1.5-15.75 1.5h-12.687zm49.636 0h12.032v46.655h-12.032zm-37.605 9.0938v28.468h4.3125c4.875 0 8.6151-1.2074 11.219-3.624 2.625-2.4167 3.9375-5.9692 3.9375-10.657 0-4.6666-1.3026-8.1979-3.9067-10.594s-6.3542-3.5933-11.25-3.5933z"/>
+    </g>
+</svg>
diff --git a/icons/chromatic/random.svg b/icons/chromatic/random.svg
index 841cb5146f53a48536937d6decb5f3156afa6013..4a6d15a6379ffd201c35f92bfb3c7457e3c1adce 100644
--- a/icons/chromatic/random.svg
+++ b/icons/chromatic/random.svg
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <svg version="1.1" viewBox="0 0 28.747 28.747" xmlns="http://www.w3.org/2000/svg">
     <defs>
-        <filter id="filter6206-7" color-interpolation-filters="sRGB">
+        <filter id="filter6206-7" x="-.072" y="-.072" width="1.144" height="1.144" color-interpolation-filters="sRGB">
             <feGaussianBlur stdDeviation="0.658125"/>
         </filter>
     </defs>
@@ -75,8 +75,5 @@
         </g>
         <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#1a237e" opacity=".2"/>
     </g>
-    <g transform="matrix(.29602 0 0 .29602 6.7952 6.7952)" stroke-width="1.0667">
-        <path d="m0 0h51.2v51.2h-51.2z" fill="none"/>
-        <path d="m25.587 1.3672c-13.298 0-24.044 10.772-24.044 24.057s10.745 24.057 24.044 24.057 24.07-10.772 24.07-24.057-10.772-24.057-24.07-24.057zm0.013365 42.768c-10.331 0-18.711-8.3799-18.711-18.711 0-10.331 8.3799-18.711 18.711-18.711s18.711 8.3799 18.711 18.711c0 10.331-8.3665 18.711-18.711 18.711z" fill="#fff"/>
-    </g>
+    <path d="m8.546 7.9051c-0.23528-0.00437-0.46891 0.081445-0.64583 0.25838-0.35385 0.35385-0.34293 0.93442 0.024394 1.3017l1.6235 1.6235c-1.4555 1.3424-2.2843 3.2302-2.2868 5.2088h-0.00671c0 0.78875 0.6351 1.4237 1.4238 1.4237h11.39c0.78875 0 1.4238-0.63491 1.4238-1.4237h-0.0066c-0.0025-1.9786-0.83132-3.8664-2.2869-5.2088l1.6237-1.6235c0.36731-0.3673 0.37823-0.94789 0.02439-1.3017-0.17698-0.17692-0.41059-0.26276-0.64588-0.25838-0.23528 0.00438-0.47224 0.098914-0.65589 0.28256l-1.8429 1.8428c-2.0826-1.1043-4.5778-1.1062-6.662-0.0048l-1.838-1.838c-0.18365-0.18365-0.42061-0.27818-0.65589-0.28256zm2.7268 5.2174c0.67701 3.1e-5 1.2258 0.54885 1.2259 1.2259-3.2e-5 0.67701-0.54885 1.2258-1.2259 1.2259-0.67701-3.2e-5 -1.2258-0.54885-1.2259-1.2259 3.2e-5 -0.67701 0.54885-1.2258 1.2259-1.2259zm6.201 0c0.67709-7.4e-5 1.226 0.54878 1.2261 1.2259-3.2e-5 0.67708-0.54897 1.2259-1.2261 1.2259-0.67701-3.2e-5 -1.2258-0.54885-1.2259-1.2259 3.3e-5 -0.67701 0.54885-1.2258 1.2259-1.2259z" fill="#fff" opacity=".99"/>
 </svg>
diff --git a/icons/chromatic/scrobbles.svg b/icons/chromatic/scrobbles.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5474cc37b07741f4ec6a50d740251e955a74837a
--- /dev/null
+++ b/icons/chromatic/scrobbles.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 28.747 28.747" xmlns="http://www.w3.org/2000/svg">
+    <defs>
+        <filter id="filter6206-7" x="-.072" y="-.072" width="1.144" height="1.144" color-interpolation-filters="sRGB">
+            <feGaussianBlur stdDeviation="0.658125"/>
+        </filter>
+    </defs>
+    <g transform="translate(0 -1093.8)">
+        <path transform="matrix(1.0781 0 0 1.0641 -.093733 2.7509)" d="m4.4177 1028.2v1.6051h-1.6052v18.192h1.6052v2.1402h18.192v-2.1402h2.1402v-18.192h-2.1402v-1.6051z" fill="#3e2723" filter="url(#filter6206-7)" opacity=".2"/>
+        <rect x="2.9987" y="1096.8" width="22.749" height="22.749" rx="1.1973" ry="1.1974" fill="#ff5722"/>
+        <g transform="translate(-22.32 1056.5)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            <g transform="matrix(.33601 0 0 .33601 1.5296 73.043)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            </g>
+            <g transform="matrix(.37187 0 0 .37187 38.802 63.239)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                <g transform="matrix(2.6891 0 0 2.6891 -82.906 -48.45)">
+                    <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                </g>
+            </g>
+        </g>
+        <path d="m4.1958 1096.8c-0.66332 0-1.1979 0.5346-1.1979 1.1979v0.3334c0-0.6634 0.53459-1.1979 1.1979-1.1979h20.354c0.66332 0 1.1979 0.5345 1.1979 1.1979v-0.3334c0-0.6633-0.5346-1.1979-1.1979-1.1979z" fill="#fff" opacity=".2"/>
+        <rect x="128" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="160" y="578.52" width="192" height="192" fill="none" stroke-width="1.0667"/>
+        <g transform="matrix(.37344 0 0 .37344 4.7333 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.36471 0 0 .36471 5.1356 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.41585 0 0 .41585 84.325 1055.9)">
+            <g transform="matrix(.062269 0 0 .062269 -28.238 185.29)">
+                <g transform="matrix(38.618 0 0 38.618 14724 -13542)">
+                    <g transform="matrix(.71436 0 0 .71436 -400.52 188.34)">
+                        <path d="m1293.2-120.67c-181.75 0.2763-511.18 0.13525-699.05 0.13998-2.3216 10.413-3.593 21.251-3.593 32.384v114c207.65 0.73695 494.72 0.38136 706.23 0.3733v-114.37c0-11.18-1.2522-22.07-3.593-32.523zm-458.69 295.56c-78.385-4e-3 -158.85 0.17892-243.95 0.55995v138.63c286.34-0.39317 421.73-0.13827 706.23-0.32664v-137.75c-163.2-0.53005-311.22-1.1113-462.28-1.1199z" opacity="0" stroke-width="1.4932"/>
+                    </g>
+                </g>
+            </g>
+        </g>
+        <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#3e2723" opacity=".2"/>
+    </g>
+    <g fill="#fff" stroke="#fff">
+        <g transform="matrix(.55397 0 0 .55397 5.5098 6.1032)" stroke-width=".48137">
+            <path d="m26.395 23.499c-0.17 0-0.343-0.043-0.5-0.134-0.479-0.277-0.643-0.889-0.365-1.367 0.961-1.663 1.47-3.564 1.47-5.499 0-1.933-0.509-3.835-1.473-5.5-0.967-1.67-2.359-3.063-4.027-4.028-3.324-1.926-7.677-1.925-10.999 0-1.669 0.965-3.063 2.358-4.03 4.029-0.962 1.664-1.471 3.566-1.471 5.499 0 1.935 0.509 3.836 1.471 5.499 0.277 0.479 0.113 1.09-0.364 1.367-0.482 0.274-1.092 0.112-1.367-0.365-1.138-1.967-1.74-4.215-1.74-6.501 0-2.284 0.602-4.532 1.739-6.5 1.144-1.975 2.789-3.62 4.761-4.759 3.928-2.276 9.07-2.277 13.001 0 1.972 1.139 3.616 2.784 4.759 4.757 1.139 1.969 1.74 4.217 1.74 6.501 0 2.286-0.602 4.534-1.74 6.501-0.185 0.321-0.521 0.5-0.865 0.5z"/>
+            <path d="m24.469 9.75c-0.445 0-0.894-0.17-1.234-0.51-0.635-0.632-1.344-1.177-2.108-1.619-3.099-1.795-7.154-1.794-10.248-1e-3 -0.767 0.443-1.476 0.987-2.11 1.62-0.689 0.682-1.797 0.678-2.478-5e-3 -0.682-0.685-0.68-1.793 5e-3 -2.475 0.85-0.846 1.802-1.576 2.829-2.169 4.154-2.408 9.594-2.409 13.752 1e-3 1.025 0.592 1.979 1.322 2.827 2.168 0.685 0.682 0.687 1.79 5e-3 2.475-0.342 0.343-0.791 0.515-1.24 0.515z"/>
+            <path d="m27.982 23.16c0.289-1.633-0.803-3.188-2.435-3.475l-1.041 5.908c1.635 0.288 3.189-0.801 3.476-2.433z"/>
+            <path d="m21.206 27.042c-1.088-0.19-1.813-1.229-1.623-2.317l1.043-5.908c0.19-1.088 1.229-1.814 2.315-1.623 1.088 0.192 1.814 1.229 1.623 2.317l-1.043 5.909c-0.19 1.088-1.228 1.814-2.315 1.622z"/>
+            <path d="m4.018 23.16c-0.289-1.633 0.801-3.188 2.434-3.475l1.041 5.908c-1.633 0.288-3.188-0.801-3.475-2.433z"/>
+            <path d="m10.794 27.042c1.088-0.19 1.814-1.229 1.623-2.317l-1.043-5.908c-0.19-1.088-1.229-1.813-2.316-1.623-1.087 0.192-1.814 1.229-1.622 2.317l1.042 5.909c0.191 1.088 1.228 1.814 2.316 1.622z"/>
+        </g>
+        <path d="m15.772 13.078h0.61417v2.222h0.12799v0.14221h-4.2823v-4.3196h0.14221v0.50751h0.46752v0.14221h-0.46752v1.9296c0.60795-0.19998 0.79016-0.38752 1.0195-0.62306 0.09066-0.09333 0.18754-0.19287 0.31908-0.30486 0.33953-0.28709 0.53596-0.14043 0.76083 0.02577 0.13688 0.10221 0.28709 0.21332 0.4924 0.19998 0.14132-0.0089 0.33953-0.10844 0.56084-0.26576 0.24531-0.17421 0.51462-0.41863 0.76349-0.68883l0.048-0.05244 0.10488 0.09599-0.048 0.05244c-0.25598 0.27731-0.53329 0.52796-0.7866 0.70839-0.24176 0.17243-0.46574 0.28175-0.63462 0.29242-0.25687 0.016-0.42841-0.1111-0.58484-0.22842-0.17687-0.13154-0.33153-0.2462-0.58484-0.032-0.1271 0.10755-0.22132 0.20532-0.30931 0.29509-0.25509 0.2622-0.44796 0.45685-1.1217 0.67372v1.4497h0.29153v-0.93503h0.68616v0.93503h0.32708v-1.8452h0.68528v1.8452h0.32708v-1.4719h0.68528v1.4719h0.32708v-2.222zm-2.0905-1.4479h0.0711v0.14221h-0.53684v-0.14221zm2.6522 0h0.07111v0.14221h-0.53684v-0.14221zm-0.91104 0h0.0711v0.14221h-0.53684v-0.14221zm-0.91104 0h0.0711v0.14221h-0.45596v-0.14221z" stroke-width=".128"/>
+    </g>
+</svg>
diff --git a/icons/chromatic/spotifyplaylistgenerator.svg b/icons/chromatic/spotifyplaylistgenerator.svg
new file mode 100644
index 0000000000000000000000000000000000000000..f304b73c35d60c958ff07cf3ed06546ea41b98a4
--- /dev/null
+++ b/icons/chromatic/spotifyplaylistgenerator.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 28.747 28.747" xmlns="http://www.w3.org/2000/svg">
+    <defs>
+        <filter id="filter6206-7" x="-.072" y="-.072" width="1.144" height="1.144" color-interpolation-filters="sRGB">
+            <feGaussianBlur stdDeviation="0.658125"/>
+        </filter>
+    </defs>
+    <g transform="translate(0 -1093.8)">
+        <path transform="matrix(1.0781 0 0 1.0641 -.093733 2.7509)" d="m4.4177 1028.2v1.6051h-1.6052v18.192h1.6052v2.1402h18.192v-2.1402h2.1402v-18.192h-2.1402v-1.6051z" fill="#1a237e" filter="url(#filter6206-7)" opacity=".2"/>
+        <rect x="2.9987" y="1096.8" width="22.749" height="22.749" rx="1.1973" ry="1.1974" fill="#2196f3"/>
+        <g transform="translate(-22.32 1056.5)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            <g transform="matrix(.33601 0 0 .33601 1.5296 73.043)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            </g>
+            <g transform="matrix(.37187 0 0 .37187 38.802 63.239)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                <g transform="matrix(2.6891 0 0 2.6891 -82.906 -48.45)">
+                    <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                </g>
+            </g>
+        </g>
+        <path d="m4.1958 1096.8c-0.66332 0-1.1979 0.5346-1.1979 1.1979v0.3334c0-0.6634 0.53459-1.1979 1.1979-1.1979h20.354c0.66332 0 1.1979 0.5345 1.1979 1.1979v-0.3334c0-0.6633-0.5346-1.1979-1.1979-1.1979z" fill="#fff" opacity=".2"/>
+        <rect x="128" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="160" y="578.52" width="192" height="192" fill="none" stroke-width="1.0667"/>
+        <g transform="matrix(.37344 0 0 .37344 4.7333 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.36471 0 0 .36471 5.1356 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.41585 0 0 .41585 84.325 1055.9)">
+            <g transform="matrix(.062269 0 0 .062269 -28.238 185.29)">
+                <g transform="matrix(38.618 0 0 38.618 14724 -13542)">
+                    <g transform="matrix(.71436 0 0 .71436 -400.52 188.34)">
+                        <path d="m1293.2-120.67c-181.75 0.2763-511.18 0.13525-699.05 0.13998-2.3216 10.413-3.593 21.251-3.593 32.384v114c207.65 0.73695 494.72 0.38136 706.23 0.3733v-114.37c0-11.18-1.2522-22.07-3.593-32.523zm-458.69 295.56c-78.385-4e-3 -158.85 0.17892-243.95 0.55995v138.63c286.34-0.39317 421.73-0.13827 706.23-0.32664v-137.75c-163.2-0.53005-311.22-1.1113-462.28-1.1199z" opacity="0" stroke-width="1.4932"/>
+                    </g>
+                </g>
+            </g>
+        </g>
+        <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#1a237e" opacity=".2"/>
+    </g>
+    <g fill="#fff">
+        <path d="m17.26 12.678c-1.158 0-2.0936 0.93854-2.0936 2.0954 0 1.1568 0.93563 2.0948 2.0936 2.0948 1.158 0 2.0959-0.93795 2.0959-2.0948 0-1.1568-0.93795-2.0954-2.0959-2.0954zm-0.24388 1.0222c0.60907 0 1.1923 0.1369 1.7346 0.40736 0.09324 0.04646 0.13149 0.1607 0.08503 0.25395-0.03372 0.0664-0.09964 0.12468-0.16949 0.12468-0.02821 0-0.05762-0.0067-0.08446-0.02011-0.48926-0.24395-1.0152-0.36771-1.5651-0.36771-0.28661 0-0.57254 0.03495-0.84917 0.10342-0.1015 0.02511-0.20412-0.03673-0.22924-0.13789-0.02511-0.10116 0.03639-0.22366 0.13789-0.24878 0.30658-0.07604 0.62272-0.11491 0.93995-0.11491zm5.88e-4 0.82734c0.51059 0 1.0184 0.12397 1.4691 0.35794 0.08086 0.04164 0.11255 0.1415 0.07124 0.22235-0.02959 0.05643-0.08744 0.14938-0.14766 0.14938-0.02581 0-0.05175-0.0062-0.07584-0.01896-0.4101-0.21298-0.85235-0.32058-1.3169-0.32058-0.25531 0-0.50997 0.03379-0.75495 0.10055-0.08843 0.02374-0.1793-0.02798-0.20339-0.11606-0.02407-0.08808 0.02798-0.23848 0.11606-0.26257 0.27354-0.07467 0.55739-0.11204 0.84229-0.11204zm-5.88e-4 0.77334c0.42701 0 0.84976 0.10815 1.2221 0.31255 0.06917 0.0375 0.09323 0.20386 0.05573 0.27233-0.02511 0.04714-0.07386 0.07412-0.1241 0.07412l-0.06837-0.01781c-0.33064-0.18306-0.70615-0.27923-1.0853-0.27923-0.22709 0-0.45199 0.03379-0.66705 0.10055-0.07501 0.02374-0.15448-0.01841-0.17754-0.09308-0.02305-0.07536 0.01864-0.23446 0.09365-0.25682 0.24257-0.07536 0.49529-0.11261 0.75092-0.11261z" stroke-width=".092886"/>
+        <path d="m20.602 8.5599c0.22933 5e-7 0.41524 0.18591 0.41524 0.41524v0.83048c0 0.22933-0.18591 0.41524-0.41524 0.41524h-1.2457v4.486c0-0.35804-0.52089-0.94169-1.661-1.953v-2.9482c0-0.688 0.55773-1.2457 1.2457-1.2457zm-12.457 2.9067h7.8896c0.22933 0 0.41524-0.18591 0.41524-0.41524v-0.83048c0-0.22933-0.18591-0.41524-0.41524-0.41524h-7.8896c-0.22933 3e-7 -0.41524 0.18591-0.41524 0.41524v0.83048c0 0.22933 0.18591 0.41524 0.41524 0.41524zm0 2.9067h5.3981c0.22933 1e-6 0.41524-0.18591 0.41524-0.41524v-0.83048c-1e-6 -0.22933-0.18591-0.41524-0.41524-0.41524h-5.3981c-0.22933 0-0.41524 0.18591-0.41524 0.41524v0.83048c5e-7 0.22933 0.18591 0.41524 0.41524 0.41524zm0 2.9067h5.3981c0.22933 1e-6 0.41524-0.18591 0.41524-0.41524v-0.83048c0-0.22933-0.18591-0.41524-0.41524-0.41524h-5.3981c-0.22933 0-0.41524 0.18591-0.41524 0.41524v0.83048c-6e-7 0.22933 0.18591 0.41524 0.41524 0.41524zm12.457 1.2457h-12.457c-0.22933 0-0.41524 0.18591-0.41524 0.41524v0.83048c5e-7 0.22933 0.18591 0.41524 0.41524 0.41524h12.457c0.22933-1e-6 0.41524-0.18591 0.41524-0.41524v-0.83048c-1e-6 -0.22933-0.18591-0.41524-0.41524-0.41524z" stroke-width=".13841"/>
+    </g>
+</svg>
diff --git a/icons/chromatic/stopmotion.svg b/icons/chromatic/stopmotion.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6f02a9f79b4c3057fd11ae3b9ea1730c896521d4
--- /dev/null
+++ b/icons/chromatic/stopmotion.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 28.747 28.747" xmlns="http://www.w3.org/2000/svg">
+    <defs>
+        <filter id="filter6206-7" x="-.072" y="-.072001" width="1.144" height="1.144" color-interpolation-filters="sRGB">
+            <feGaussianBlur stdDeviation="0.658125"/>
+        </filter>
+    </defs>
+    <g transform="translate(0 -1093.8)">
+        <path transform="matrix(1.0781 0 0 1.0641 -.093733 2.7509)" d="m4.4177 1028.2v1.6051h-1.6052v18.192h1.6052v2.1402h18.192v-2.1402h2.1402v-18.192h-2.1402v-1.6051z" fill="#1a237e" filter="url(#filter6206-7)" opacity=".2"/>
+        <rect x="2.9987" y="1096.8" width="22.749" height="22.749" rx="1.1973" ry="1.1974" fill="#673ab7"/>
+        <g transform="translate(-22.32 1056.5)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            <g transform="matrix(.33601 0 0 .33601 1.5296 73.043)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            </g>
+            <g transform="matrix(.37187 0 0 .37187 38.802 63.239)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                <g transform="matrix(2.6891 0 0 2.6891 -82.906 -48.45)">
+                    <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                </g>
+            </g>
+        </g>
+        <path d="m4.1958 1096.8c-0.66332 0-1.1979 0.5346-1.1979 1.1979v0.3334c0-0.6634 0.53459-1.1979 1.1979-1.1979h20.354c0.66332 0 1.1979 0.5345 1.1979 1.1979v-0.3334c0-0.6633-0.5346-1.1979-1.1979-1.1979z" fill="#fff" opacity=".2"/>
+        <rect x="128" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="160" y="578.52" width="192" height="192" fill="none" stroke-width="1.0667"/>
+        <g transform="matrix(.37344 0 0 .37344 4.7333 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.36471 0 0 .36471 5.1356 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.41585 0 0 .41585 84.325 1055.9)">
+            <g transform="matrix(.062269 0 0 .062269 -28.238 185.29)">
+                <g transform="matrix(38.618 0 0 38.618 14724 -13542)">
+                    <g transform="matrix(.71436 0 0 .71436 -400.52 188.34)">
+                        <path d="m1293.2-120.67c-181.75 0.2763-511.18 0.13525-699.05 0.13998-2.3216 10.413-3.593 21.251-3.593 32.384v114c207.65 0.73695 494.72 0.38136 706.23 0.3733v-114.37c0-11.18-1.2522-22.07-3.593-32.523zm-458.69 295.56c-78.385-4e-3 -158.85 0.17892-243.95 0.55995v138.63c286.34-0.39317 421.73-0.13827 706.23-0.32664v-137.75c-163.2-0.53005-311.22-1.1113-462.28-1.1199z" opacity="0" stroke-width="1.4932"/>
+                    </g>
+                </g>
+            </g>
+        </g>
+        <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#1a237e" opacity=".2"/>
+    </g>
+    <g fill="#fff">
+        <path d="m21.141 11.764a1.1513 1.1513 0 0 0-1.0798-0.89569c-0.95204 0.0038-1.9043-0.0075-2.8564 0.0065a0.65653 0.65653 0 0 0-0.13626-0.42804c-0.38572-0.49919-0.75993-1.0074-1.1479-1.5046a0.59422 0.59422 0 0 0-0.46814-0.23494c-0.75192-1e-3 -1.5038 0.00401-2.2557 5.128e-4a0.56532 0.56532 0 0 0-0.45536 0.22292c-0.38397 0.50019-0.76394 1.0034-1.1454 1.5056a0.66926 0.66926 0 0 0-0.14077 0.43356c-0.24772-0.0055-0.49543-0.0027-0.74315-0.0013-1.21e-4 -0.02042-6.77e-4 -0.04078-1e-3 -0.06118v-0.1958h-0.11981c-0.0018-0.14287-0.0011-0.28595-0.0019-0.42881-0.53324-3e-3 -1.0668-0.0023-1.6-0.0043-0.00261 0.14436 0.00209 0.28871-0.00334 0.43306h-0.12164c-9.324e-4 0.0317-6.066e-4 0.06344 0 0.09521v0.1633l-0.0048-3.97e-4a1.1764 1.1764 0 0 0-1.2235 0.90684 0.47582 0.47582 0 0 0-0.52749 0.48843 0.48424 0.48424 0 0 0 0.51798 0.47765q0.00115 2.4537-7.529e-4 4.907a2.7779 2.7779 0 0 0 0.028558 0.53025 1.2133 1.2133 0 0 0 1.1602 0.93626c0.8516-0.0036 1.703-2e-3 2.5546-0.0013 0.06838 0.0032 0.14778-0.01828 0.2044 0.03181a4.6428 4.6428 0 0 0 5.431 0.03206 0.2352 0.2352 0 0 1 0.13-0.06337c0.96682-0.0045 1.9334 0.0016 2.9002-0.0027a1.1953 1.1953 0 0 0 1.1159-1.187c2e-3 -1.727-0.0036-3.454 0.0025-5.181a0.49917 0.49917 0 0 0 0.48141-0.42907 0.49272 0.49272 0 0 0-0.49343-0.55153zm-2.5192 3.8332a4.1985 4.1985 0 0 1-0.95655 2.4641 4.3163 4.3163 0 0 1-7.2952-0.94127 4.1969 4.1969 0 0 1-0.37496-2.002 4.3722 4.3722 0 0 1 1.8755-3.2777 4.3074 4.3074 0 0 1 6.7512 3.7568zm1.2326-2.6122a0.73486 0.73486 0 1 1 0.17909-0.82029 0.72723 0.72723 0 0 1-0.17909 0.82029z" stroke-width=".23306"/>
+        <path class="cls-1" d="m14.303 11.474a3.9178 3.9178 0 1 0 3.9178 3.9178 3.9178 3.9178 0 0 0-3.9178-3.9178zm2.3572 6.275a3.3312 3.3312 0 1 1 0.97733-2.3572 3.3219 3.3219 0 0 1-0.97733 2.3572zm-0.13841-4.5761a3.1379 3.1379 0 1 0 0.9191 2.2188 3.1269 3.1269 0 0 0-0.9191-2.2188zm-0.55365 2.3446-2.5547 1.4778a0.1401 0.1401 0 0 1-0.14516 0 0.14179 0.14179 0 0 1-0.07259-0.12575v-2.9522a0.14179 0.14179 0 0 1 0.07259-0.12912 0.1401 0.1401 0 0 1 0.14516 0l2.5547 1.4778a0.14516 0.14516 0 0 1 0 0.25319z" fill-rule="evenodd" stroke-width=".084398"/>
+    </g>
+</svg>
diff --git a/icons/chromatic/tetrisdual.svg b/icons/chromatic/tetrisdual.svg
new file mode 100644
index 0000000000000000000000000000000000000000..981fe5507fbc76ca9e548fffe4acf67860375127
--- /dev/null
+++ b/icons/chromatic/tetrisdual.svg
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 28.747 28.747" xmlns="http://www.w3.org/2000/svg">
+    <defs>
+        <filter id="filter6206-7" x="-.072" y="-.072001" width="1.144" height="1.144" color-interpolation-filters="sRGB">
+            <feGaussianBlur stdDeviation="0.658125"/>
+        </filter>
+    </defs>
+    <g transform="translate(0 -1093.8)">
+        <path transform="matrix(1.0781 0 0 1.0641 -.093733 2.7509)" d="m4.4177 1028.2v1.6051h-1.6052v18.192h1.6052v2.1402h18.192v-2.1402h2.1402v-18.192h-2.1402v-1.6051z" fill="#1a237e" filter="url(#filter6206-7)" opacity=".2"/>
+        <rect x="2.9987" y="1096.8" width="22.749" height="22.749" rx="1.1973" ry="1.1974" fill="#3f51b5"/>
+        <g transform="translate(-22.32 1056.5)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            <g transform="matrix(.33601 0 0 .33601 1.5296 73.043)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+            </g>
+            <g transform="matrix(.37187 0 0 .37187 38.802 63.239)">
+                <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                <g transform="matrix(2.6891 0 0 2.6891 -82.906 -48.45)">
+                    <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+                </g>
+            </g>
+        </g>
+        <path d="m4.1958 1096.8c-0.66332 0-1.1979 0.5346-1.1979 1.1979v0.3334c0-0.6634 0.53459-1.1979 1.1979-1.1979h20.354c0.66332 0 1.1979 0.5345 1.1979 1.1979v-0.3334c0-0.6633-0.5346-1.1979-1.1979-1.1979z" fill="#fff" opacity=".2"/>
+        <rect x="128" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="128" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="213.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="298.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="170.67" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="256" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="589.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="631.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="717.19" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="546.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="674.52" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="341.33" y="759.85" width="42.667" height="42.667" fill="none" stroke-width="1.0667"/>
+        <rect x="160" y="578.52" width="192" height="192" fill="none" stroke-width="1.0667"/>
+        <g transform="matrix(.37344 0 0 .37344 4.7333 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.36471 0 0 .36471 5.1356 1097.4)">
+            <path d="m0 0h51.2v51.2h-51.2z" fill="none" stroke-width="1.0667"/>
+        </g>
+        <g transform="matrix(.41585 0 0 .41585 84.325 1055.9)">
+            <g transform="matrix(.062269 0 0 .062269 -28.238 185.29)">
+                <g transform="matrix(38.618 0 0 38.618 14724 -13542)">
+                    <g transform="matrix(.71436 0 0 .71436 -400.52 188.34)">
+                        <path d="m1293.2-120.67c-181.75 0.2763-511.18 0.13525-699.05 0.13998-2.3216 10.413-3.593 21.251-3.593 32.384v114c207.65 0.73695 494.72 0.38136 706.23 0.3733v-114.37c0-11.18-1.2522-22.07-3.593-32.523zm-458.69 295.56c-78.385-4e-3 -158.85 0.17892-243.95 0.55995v138.63c286.34-0.39317 421.73-0.13827 706.23-0.32664v-137.75c-163.2-0.53005-311.22-1.1113-462.28-1.1199z" opacity="0" stroke-width="1.4932"/>
+                    </g>
+                </g>
+            </g>
+        </g>
+        <path d="m24.549 1119.5c0.66325 0 1.1979-0.5346 1.1979-1.1979v-0.3333c0 0.6632-0.53461 1.1978-1.1979 1.1978h-20.354c-0.66325 0-1.1979-0.5346-1.1979-1.1978v0.3333c0 0.6633 0.53461 1.1979 1.1979 1.1979z" fill="#1a237e" opacity=".2"/>
+    </g>
+    <g transform="matrix(.36901 0 0 .36901 -1.2187 13.371)" fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="3">
+        <rect x="31.881" y="-12.943" width="10.173" height="10.173"/>
+        <rect x="31.881" y="-2.3698" width="10.173" height="10.173"/>
+        <rect x="42.454" y="-2.3698" width="10.173" height="10.173"/>
+        <rect x="42.454" y="8.2031" width="10.173" height="10.173"/>
+    </g>
+</svg>