diff --git a/data/Indicator.css b/data/Indicator.css
index 49fe3e1..b333f7b 100644
--- a/data/Indicator.css
+++ b/data/Indicator.css
@@ -48,3 +48,11 @@ quicksettings .flat avatar {
border: none;
box-shadow: none;
}
+
+quicksettings .color-scheme .toggle image {
+ transition: all 600ms cubic-bezier(0.66, 3, 0.64, 1);
+}
+
+quicksettings .color-scheme .toggle:checked image {
+ -gtk-icon-transform: rotate(180deg);
+}
diff --git a/data/icons/dark-mode.svg b/data/icons/dark-mode.svg
index 50f5a9c..b9e5e07 100644
--- a/data/icons/dark-mode.svg
+++ b/data/icons/dark-mode.svg
@@ -1,57 +1,2 @@
-
-
+
+
diff --git a/src/Widgets/DarkModeToggle.vala b/src/Widgets/DarkModeToggle.vala
index 68c311e..d58a548 100644
--- a/src/Widgets/DarkModeToggle.vala
+++ b/src/Widgets/DarkModeToggle.vala
@@ -13,6 +13,7 @@ public class QuickSettings.DarkModeToggle: SettingsToggle {
construct {
icon_name = "dark-mode-symbolic";
settings_uri = "settings://desktop/appearance";
+ get_style_context ().add_class ("color-scheme");
var settings = new GLib.Settings ("io.elementary.settings-daemon.prefers-color-scheme");