diff --git a/ivette/src/colors/dark-code.css b/ivette/src/colors/dark-code.css
index 18608ad9b8aa95766f04ef7970cf2d2fa09f84c3..d7ca1b433cc14c4bc6d8135942914836b0f687f0 100644
--- a/ivette/src/colors/dark-code.css
+++ b/ivette/src/colors/dark-code.css
@@ -49,6 +49,9 @@
 
 .cm-s-dark-code .CodeMirror-activeline-background { background: var(--background); }
 .cm-s-dark-code .CodeMirror-matchingbracket { background: #928374; color:#282828 !important; }
+.cm-s-dark-code .CodeMirror-scrollbar-filler {
+  background-color: var(--background-profound);
+}
 
 .cm-s-dark-code span.cm-builtin { color: #fe8039; }
 .cm-s-dark-code span.cm-tag { color: #fe8039; }
diff --git a/ivette/src/colors/dark.css b/ivette/src/colors/dark.css
index 23bec700da62c96610a0f0e63a7f9e990ad480e7..fdda2d4608af023565ee4f46aed3b18876abe15d 100644
--- a/ivette/src/colors/dark.css
+++ b/ivette/src/colors/dark.css
@@ -4,14 +4,14 @@
     --text-discrete: #879da0;
     --disabled-text: #506679;
     --info-text: #748a8d;
-    --info-text-discrete: #778d90;
+    --info-text-discrete: #778d94;
 
     --code-hover: #005137;
     --code-select: #4f3d24;
     --code-select-hover: #5f4d34;
-    --dead-code: #bbb;
-    --non-terminating: #bbb;
-    --highlighted-marker: #ffff66;
+    --dead-code: #666;
+    --non-terminating: #666;
+    --highlighted-marker: #778822;
     --code-bullet: #0a2234;
 
     --splitter: #708294;
@@ -23,14 +23,19 @@
     --background-profound-hover: #0e2638;
     --background-disabled: #525f71;
     --background-disabled-hover: #4c596b;
-    --background-intense: #132b3d;
+    --background-intense: #132b41;
     --background-softer: #364455;
     --background-sidebar: #183042;
     --background-button-hover: #c0c0c0;
     --background-alterning-odd: #354154;
     --background-alterning-even: #475366;
     --selected-element: #082032;
+    --background-interaction: #5c697b;
 
+    --lcd-button-color: #21211a;
+    --lcd-button-background: #727798;
+
+    --default-led-img: radial-gradient(circle at center, #5f92b9, #4189bf);
     --default-button-img: linear-gradient(to bottom, #3c495b 0%, #455164 100%);
     --default-button-hover: #364355;
     --default-button-active: #303d4f;
@@ -39,14 +44,20 @@
     --primary-button-hover: #0e65b9;
     --primary-button-active: #085fb3;
 
+    --positive-button-color: #327024;
+    --positive-led-img: radial-gradient(circle at center, #20a110, #177c16);
     --positive-button-img: linear-gradient(to bottom, #327024 0%, #2e6c20 100%);
     --positive-button-hover: #28661a;
     --positive-button-active: #226014;
 
+    --negative-button-color: #bc150e;
+    --negative-led-img: radial-gradient(circle at center, #df3b36, #c72a25c7);
     --negative-button-img: linear-gradient(to bottom, #bc150e 0%, #cf1c17 100%);
     --negative-button-hover: #b60f08;
     --negative-button-active: #b00903;
 
+    --warning-button-color: #a4601a;
+    --warning-led-img: radial-gradient(circle at center, #efa739, #ccb41f);
     --warning-button-img: linear-gradient(to bottom, #a4601a 0%, #a6571c 100%);
     --warning-button-hover: #9e5114;
     --warning-button-active: #984b0e;
@@ -58,10 +69,29 @@
     --selected-button-img: #355174;
     --selected-button-hover: #456184;
 
+    --activated-button-color: #348bdf;
+    --activated-button-hover: #b53d9e;
+
     --grid-layout-holder: #266475;
     --grid-layout-target: #34b4c0;
 
     --error: darkorange;
     --warning: darkorange;
+
+    --meter-optimum:  linear-gradient(to bottom, #170 0%, #5c0 20%, #170 100%);
+    --meter-subopti:  linear-gradient(to bottom, #770 0%, #cc0 20%, #770 100%);
+    --meter-evenless: linear-gradient(to bottom, #710 0%, #c50 20%, #710 100%);
+
+    --eva-state-before: #082032;
+    --eva-state-after: #321428;
+    --eva-state-then: #98a02e;
+    --eva-state-else: #8f030e;
+    --eva-probes-pinned: #1f493f;
+    --eva-probes-pinned-focused: #025d22;
+    --eva-probes-transient: #bfb095;
+    --eva-probes-transient-focused: #9f3c20
+    --eva-alarms-true: green;
+    --eva-alarms-false: #fb4e4a;
+    --eva-alarms-unknown: darkorange;
   }
 }
diff --git a/ivette/src/colors/light.css b/ivette/src/colors/light.css
index eeb4402facd86f55a52021437801d1da16fd06d5..d9247aab80868442f532b5973cd3687b1f1c6e67 100644
--- a/ivette/src/colors/light.css
+++ b/ivette/src/colors/light.css
@@ -30,7 +30,12 @@
     --background-alterning-odd: #fdfdfd;
     --background-alterning-even: #efefef;
     --selected-element: #8ce0fb;
+    --background-interaction: white;
 
+    --lcd-button-color: #61611a;
+    --lcd-button-background: #b2b798;
+
+    --default-led-img: radial-gradient(circle at center, #9fd2f9, #81c9ff);
     --default-button-img: linear-gradient(to bottom, #e8e8e8 0%, #f1f1f1 100%);
     --default-button-hover: #ffffff;
     --default-button-active: #f9f9f9;
@@ -39,14 +44,20 @@
     --primary-button-hover: #00b6ff;
     --primary-button-active: #ddd;
 
+    --positive-button-color: #34ff52;
+    --positive-led-img: radial-gradient(circle at center, #50c140, #279c16);
     --positive-button-img: linear-gradient(to bottom, #34ff52 0%, #48fd64 100%);
     --positive-button-hover: #ffffff;
     --positive-button-active: #ffffff;
 
+    --negative-button-color: #ec453e;
+    --negative-led-img: radial-gradient(circle at center, #ff5b56, #f75a55c7);
     --negative-button-img: linear-gradient(to bottom, #ec453e 0%, #ff4c47 100%);
     --negative-button-hover: red;
     --negative-button-active: #ffffff;
 
+    --warning-button-color: #fece72;
+    --warning-led-img: radial-gradient(circle at center, #ffc749, #ecd44f);
     --warning-button-img: linear-gradient(to bottom, #fece72 0%, #fcaa0e 100%);
     --warning-button-hover: orange;
     --warning-button-active: #ffffff;
@@ -58,10 +69,29 @@
     --selected-button-img: #afafaf;
     --selected-button-hover: #a9a9a9;
 
+    --activated-button-color: #449bef;
+    --activated-button-hover: #c54dae;
+
     --grid-layout-holder: lightblue;
     --grid-layout-target: #64b4f0;
 
     --error: darkorange;
     --warning: darkorange;
+
+    --meter-optimum:  linear-gradient(to bottom, #4a0 0%, #8f0 20%, #4a0 100%);
+    --meter-subopti:  linear-gradient(to bottom, #aa0 0%, #ff0 20%, #aa0 100%);
+    --meter-evenless: linear-gradient(to bottom, #a40 0%, #f80 20%, #a40 100%);
+
+    --eva-state-before: #95f5ff;
+    --eva-state-after: #fff819;
+    --eva-state-then: #c8e06e;
+    --eva-state-else: #ff834e;
+    --eva-probes-pinned: #cbe4cb;
+    --eva-probes-pinned-focused: #02da02;
+    --eva-probes-transient: #fff0d5;
+    --eva-probes-transient-focused: orange
+    --eva-alarms-true: green;
+    --eva-alarms-false: #fb4e4a;
+    --eva-alarms-unknown: darkorange;
   }
 }
diff --git a/ivette/src/dome/renderer/controls/style.css b/ivette/src/dome/renderer/controls/style.css
index e479237743adb965091992b6a5b1362fde39cdf7..552662f462827460b3debd875a8cd45de0538e07 100644
--- a/ivette/src/dome/renderer/controls/style.css
+++ b/ivette/src/dome/renderer/controls/style.css
@@ -39,19 +39,19 @@
     margin: 1px ;
     padding: 1px 6px 1px 6px ;
     height: 16px ;
-    fill: #dedede ;
-    color: #dedede ;
+    fill: var(--background-intense) ;
+    color: var(--background-intense) ;
     font-family: sans-serif ;
     font-size: smaller ;
     font-weight: bold ;
     border-radius: 8px ;
-    background: #777 ;
+    background: var(--info-text) ;
 }
 
 .dome-disabled .dome-xBadge {
-    background: #ccc ;
-    color: #eee ;
-    fill: #eee ;
+    background: var(--background-profound) ;
+    color: var(--background-intense) ;
+    fill: var(--background-intense) ;
 }
 
 .dome-xBadge label {
@@ -67,8 +67,8 @@
 }
 
 .dome-control-disabled {
-    color: #b0b0b0 ;
-    fill: #b0b0b0 ;
+    color: var(--disabled-text) ;
+    fill: var(--disabled-text) ;
     font-weight: lighter ;
 }
 
@@ -257,16 +257,16 @@
 
 .dome-xButton-lcd {
     text-align: right ;
-    color: #61611a ;
-    background-color: #b2b798 ;
-    border-color: #c2c0c2 ;
+    color: var(--lcd-button-color) ;
+    background-color: var(--lcd-button-background) ;
+    border-color: var(--border) ;
 }
 
 .dome-xButton-led {
     display: inline ;
     position: relative ;
     bottom: -2px ;
-    border-color: #999 ;
+    border-color: var(--border) ;
     border-style: solid ;
     border-width: 1px ;
     border-radius: 50% ;
@@ -281,51 +281,44 @@
 }
 
 .dome-xButton-led-active {
-    background: radial-gradient( circle at center , #9fd2f9 , #81c9ff );
+    background: var(--default-led-img);
 }
 
 .dome-xButton-led-positive {
-    background: radial-gradient( circle at center , #50c140, #279c16 );
+    background: var(--positive-led-img);
 }
 
 .dome-xButton-led-negative {
-    background: radial-gradient( circle at center , #ff5b56 , #f75a55c7 );
+    background: var(--negative-led-img);
 }
 
 .dome-xButton-led-warning {
-    background: radial-gradient( circle at center , #ffc749 , #ecd44f );
+    background: var(--warning-led-img);
 }
 
 /* -------------------------------------------------------------------------- */
 /* --- Styling Meters                                                     --- */
 /* -------------------------------------------------------------------------- */
 
-
-meter.dome-xMeter {
-    background: white;
-    border-radius: 5px;
-    box-shadow:
-        0 0 4px 4px rgba(0,0,0,0.15) inset;
-    height: 16px;
-    width: 70px;
-}
-
-meter.dome-xMeter::-webkit-meter-bar {
-    background: transparent;
-    border-radius: 5px;
-    height: 14px;
+meter::-webkit-meter-bar {
+  height: 14px;
+  width: 70px;
+  border: 1px solid var(--border);
+  border-radius: 2px;
+  background: none;
+  box-shadow: 0px 3px 2px -3px var(--text) inset;
 }
 
-meter.dome-xMeter::-webkit-meter-optimum-value {
-    background: linear-gradient(to bottom, #4a0 0%, #8f0 20%, #4a0 100%);
+meter::-webkit-meter-optimum-value {
+  background: var(--meter-optimum);
 }
 
-meter.dome-xMeter::-webkit-meter-suboptimum-value {
-    background: linear-gradient(to bottom, #aa0 0%, #ff0 20%, #aa0 100%);
+meter::-webkit-meter-suboptimum-value {
+  background: var(--meter-subopti);
 }
 
-meter.dome-xMeter::-webkit-meter-even-less-good-value  {
-    background: linear-gradient(to bottom, #a40 0%, #f80 20%, #a40 100%);
+meter::-webkit-meter-even-less-good-value  {
+  background: var(--meter-evenless);
 }
 
 /* -------------------------------------------------------------------------- */
@@ -361,22 +354,25 @@ meter.dome-xMeter::-webkit-meter-even-less-good-value  {
     background: transparent ;
 }
 
-.dome-xIconButton:hover { fill: #000 ; background: #c0c0c0 ; }
+.dome-xIconButton:hover {
+  fill: var(--text) ;
+  background: var(--background-profound-hover) ;
+}
 
-.dome-xIconButton-default { fill: #777 ; }
+.dome-xIconButton-default { fill: var(--info-text) ; }
 
-.dome-xIconButton-selected:not(:hover) { fill: #449bef ; }
-.dome-xIconButton-selected:hover { fill: #c54dae ; }
+.dome-xIconButton-selected:not(:hover) { fill: var(--activated-button-color) ; }
+.dome-xIconButton-selected:hover { fill: var(--activated-button-hover) ; }
 
-.dome-xIconButton-positive { fill: #279c16 ; }
+.dome-xIconButton-positive { fill: var(--positive-button-color) ; }
 
-.dome-xIconButton-negative { fill: #fb3832 ; }
+.dome-xIconButton-negative { fill: var(--negative-button-color) ; }
 
-.dome-xIconButton-warning { fill: orange ; }
+.dome-xIconButton-warning { fill: var(--warning-button-color) ; }
 
 .dome-xIconButton.dome-control-disabled,
 .dome-xIconButton.dome-control-disabled:hover {
-    fill: #aeafae ;
+    fill: var(--disabled-text) ;
     background: inherit ;
 }
 
diff --git a/ivette/src/dome/renderer/frame/style.css b/ivette/src/dome/renderer/frame/style.css
index 91dddd918b6b8c514156e21a7cf24ba8bab8bbdc..ac5839b3291f47cce1085ea9036d35199fbdfa4d 100644
--- a/ivette/src/dome/renderer/frame/style.css
+++ b/ivette/src/dome/renderer/frame/style.css
@@ -494,9 +494,7 @@
 }
 
 .dome-xSwitch input {
-  opacite: 0;
-  width: 0;
-  height: 0;
+  visibility: hidden;
 }
 
 .dome-xSwitch-slider {
@@ -526,14 +524,6 @@
   border-radius: 50%;
 }
 
-/* input:checked + .dome-xSwitch-slider { */
-/*   background-color: #2196F3; */
-/* } */
-
-/* input:focus + .dome-xSwitch-slider { */
-/*   box-shadow: 0 0 1px #2196F3; */
-/* } */
-
 input:checked + .dome-xSwitch-slider:before {
   -webkit-transform: translateX(13px);
   -ms-transform: translateX(13px);
diff --git a/ivette/src/dome/renderer/frame/toolbars.tsx b/ivette/src/dome/renderer/frame/toolbars.tsx
index 21f8419bb5770d1bbb8c27b425caa88ef590777a..c669a4882f60ed066f38c1fae6fdc99d4d08df7d 100644
--- a/ivette/src/dome/renderer/frame/toolbars.tsx
+++ b/ivette/src/dome/renderer/frame/toolbars.tsx
@@ -164,12 +164,8 @@ export function Switch(props: SwitchProps) {
   const checked = position ? position === 'right' : undefined;
   return (
     <label className={'dome-xSwitch'}>
-      <input type={'checkbox'} checked={checked}/>
-      <span
-        className={'dome-xSwitch-slider'}
-        title={title}
-        onClick={onClick}
-      />
+      <input type={'checkbox'} checked={checked} onChange={onClick} />
+      <span className={'dome-xSwitch-slider'} title={title} />
     </label>
   );
 }
diff --git a/ivette/src/dome/renderer/layout/style.css b/ivette/src/dome/renderer/layout/style.css
index 9e5f921a78f5e6cd15466537fc45121a7af81618..d33ea6685cbc285fc8094851ae76b174398efd34 100644
--- a/ivette/src/dome/renderer/layout/style.css
+++ b/ivette/src/dome/renderer/layout/style.css
@@ -35,8 +35,6 @@
 /* --- Extensibility                                                      --- */
 /* -------------------------------------------------------------------------- */
 
-/* TODO: Find why it does not work on my computer */
-
 .dome-xBoxes-pack
 {
     flex: 0 0 auto ;
@@ -59,16 +57,6 @@
     overflow: auto ;
 }
 
-.dome-xBoxes-scroll::-webkit-scrollbar-track {
-  background: orange;
-}
-
-.dome-xBoxes-scroll::-webkit-scrollbar-thumb {
-  background-color: blue;
-  border-radius: 20px;
-  border: 3px solid orange;
-}
-
 .dome-container > .dome-xBoxes-fill
 {
     width:  100% ;
diff --git a/ivette/src/dome/renderer/style.css b/ivette/src/dome/renderer/style.css
index fb44e3a9de7b7a2343f07a1d2c200a25605163c2..f35d677d8e0b28f944b18f04c20c50ae1db22d27 100644
--- a/ivette/src/dome/renderer/style.css
+++ b/ivette/src/dome/renderer/style.css
@@ -53,19 +53,19 @@ body {
 }
 
 .dome-color-dragzone:hover {
-    background: #808080 ;
-    opacity: 0.2 ;
+    background: var(--grid-layout-holder) ;
+    opacity: 0.4 ;
     transition: opacity .1s linear 0.1s , background .1s linear 0.1s ;
 }
 
 .dome-color-dragging {
-    background: #64b4f0 ;
+    background: var(--grid-layout-target) ;
     opacity: 0.5 ;
     transition: opacity .1s linear 0.1s , background .1s linear 0.1s ;
 }
 
 div.dome-dragged {
-    background: lightblue ;
+    background: var(--grid-layout-holder) ;
     border: none ;
 }
 
diff --git a/ivette/src/frama-c/kernel/ASTinfo.tsx b/ivette/src/frama-c/kernel/ASTinfo.tsx
index a925bbaf18b9ac5a9475220692abb922147d31e3..c62298d5c5608487160420f8a5e54378e0a94c89 100644
--- a/ivette/src/frama-c/kernel/ASTinfo.tsx
+++ b/ivette/src/frama-c/kernel/ASTinfo.tsx
@@ -27,6 +27,7 @@
 import React from 'react';
 import * as States from 'frama-c/states';
 import * as Utils from 'frama-c/utils';
+import * as Preferences from 'ivette/prefs';
 
 import { Vfill } from 'dome/layout/boxes';
 import { RichTextBuffer } from 'dome/text/buffers';
@@ -65,7 +66,7 @@ export default function ASTinfo(): JSX.Element {
         <Text
           buffer={buffer}
           mode="text"
-          theme="default"
+          theme={Preferences.useThemeColors()}
           onSelection={onTextSelection}
           readOnly
         />
diff --git a/ivette/src/frama-c/kernel/style.css b/ivette/src/frama-c/kernel/style.css
index 5b0bbdd6e4349de9963c875bef617270329e378e..1d66f2e64d1ac4a3f00223ca6d6e93bbefe909b4 100644
--- a/ivette/src/frama-c/kernel/style.css
+++ b/ivette/src/frama-c/kernel/style.css
@@ -66,15 +66,6 @@
     display: none; /* Hide label, only use placeholder */
 }
 
-.message-search input::placeholder {
-    font-style: italic;
-}
-
-.message-search input {
-    vertical-align: middle;
-    margin: 2px 4px 2px 0px;
-}
-
 .message-search .dome-xForm-field {
     margin: 0px 4px;
     display: inline-block;
diff --git a/ivette/src/frama-c/plugins/eva/style.css b/ivette/src/frama-c/plugins/eva/style.css
index 9acaed1f721613871dfea2be543f0b96c78cce6e..cf8dbf70ee0f55dffed717d127863b38810c1464 100644
--- a/ivette/src/frama-c/plugins/eva/style.css
+++ b/ivette/src/frama-c/plugins/eva/style.css
@@ -2,55 +2,13 @@
 /* --- Probe Panel                                                        --- */
 /* -------------------------------------------------------------------------- */
 
-.light-theme {
-
-  --eva-info-text: #777;
-  --eva-info-background: #ccc;
-
-  --eva-stmt-label: grey;
-  --eva-code-background: lightgrey;
-
-  --eva-callsite-background: #eee;
-  --eva-callsite-fill: #7cacbb;
-
-  --eva-focused: #cbe4cb;
-  --eva-focused-transient: #f9dca6;
-
-  --eva-state-before: #95f5ff;
-  --eva-state-after: #fff819;
-  --eva-state-then: #c8e06e;
-  --eva-state-else: #ff834e;
-
-}
-
-.dark-theme {
-
-  --eva-info-text: #748a8d;
-  --eva-info-background: #082032;
-
-  --eva-stmt-label: #849a9d;
-  --eva-code-background: #334756;
-
-  --eva-callsite-background: #eee;
-  --eva-callsite-fill: #7cacbb;
-
-  --eva-focused: #cbe4cb;
-  --eva-focused-transient: #f9dca6;
-
-  --eva-state-before: #95f5ff;
-  --eva-state-after: #fff819;
-  --eva-state-then: #c8e06e;
-  --eva-state-else: #ff834e;
-
-}
-
 .eva-probeinfo {
     min-height: 32px;
     padding-left: 6px;
     padding-top: 2px;
     padding-bottom: 4px;
     width: 100%;
-    background: var(--eva-info-background);
+    background: var(--background-profound);
     display: flex;
 }
 
@@ -63,10 +21,10 @@
 .eva-probeinfo-code {
     flex: 0 1 auto;
     height: fit-content;
-    background: var(--eva-code-background);
+    background: var(--background-intense);
     min-width: 120px;
     width: auto;
-    border: thin solid black;
+    border: thin solid var(--border);
     padding-left: 6px;
     padding-right: 6px;
     border-radius: 4px;
@@ -98,7 +56,7 @@
 .eva-info {
     width: 100%;
     flex-wrap: wrap;
-    background: var(--eva-info-background);
+    background: var(--background-profound);
     padding-top: 3px;
     padding-left: 12px;
     padding-bottom: 2px;
@@ -106,19 +64,19 @@
 
 .eva-callsite {
     flex: 0 0 auto;
-    fill: var(--eva-callsite-fill);
-    background: var(--eva-callsite-background);
+    fill: var(--selected-element);
+    background: var(--background-softer);
     border-radius: 4px;
-    border: thin solid black;
+    border: thin solid var(--border);
     padding-right: 7px;
 }
 
 .eva-callsite.eva-focused {
-    background: var(--eva-focused);
+    background: var(--warning-button-color);
 }
 
 .eva-callsite.eva-focused.eva-transient {
-    background: var(--eva-focused-transient);
+    background: var(--code-select);
 }
 
 /* -------------------------------------------------------------------------- */
@@ -140,16 +98,16 @@
 }
 
 .eva-alarm-none { display: none; }
-.eva-alarm-True { fill: green; }
-.eva-alarm-False { fill: #fb4e4a; }
-.eva-alarm-Unknown { fill: darkorange; }
+.eva-alarm-True { fill: var(--eva-alarms-true); }
+.eva-alarm-False { fill: var(--eva-alarms-false); }
+.eva-alarm-Unknown { fill: var(--eva-alarms-unknown); }
 
 /* -------------------------------------------------------------------------- */
 /* --- Styling Values                                                     --- */
 /* -------------------------------------------------------------------------- */
 
 .eva-stmt {
-    color: var(--eva-stmt-label);
+    color: var(--info-text);
     text-select: none;
 }
 
@@ -177,19 +135,19 @@
 
 .eva-function {
     padding-top: 0px;
-    background: var(--eva-info-background);
+    background: var(--background-profound);
 }
 
 .eva-head {
     padding-top: 2px;
-    color: var(--eva-info-text);
+    color: var(--info-text);
     text-align: center;
-    border-left: thin solid black;
-    border-bottom: thin solid black;
+    border-left: thin solid var(--border);
+    border-bottom: thin solid var(--border);
 }
 
 .eva-probes .eva-head {
-    border-top: thin solid black;
+    border-top: thin solid var(--border);
 }
 
 .eva-phantom {
@@ -214,8 +172,8 @@
 
 .eva-cell {
     flex: 1 1 auto;
-    border-right: thin solid black;
-    border-bottom: thin solid black;
+    border-right: thin solid var(--border);
+    border-bottom: thin solid var(--border);
     overflow: hidden;
     display: flex;
     justify-content: center;
@@ -236,13 +194,13 @@
 }
 
 .eva-cell:nth-child(2) {
-    border-left: thin solid black;
+    border-left: thin solid var(--border);
 }
 
 .eva-probes .eva-cell {
     padding: 2px 4px;
     text-align: center;
-    border-top: thin solid black;
+    border-top: thin solid var(--border);
 }
 
 .eva-cell * {
@@ -275,50 +233,42 @@
 /* --- Probes --- */
 
 .eva-probes .eva-cell {
-    background: #cbe4cb;
+    background: var(--eva-probes-pinned);
 }
 
 .eva-probes .eva-focused {
-    background: #02da02;
+    background: var(--eva-probes-pinned-focused);
 }
 
 .eva-probes .eva-transient {
-    background: #fff0d5;
+    background: var(--eva-probes-transient);
 }
 
 .eva-probes .eva-transient.eva-focused {
-    background: orange;
+    background: var(--eva-probes-transient-focused);
 }
 
 
 /* --- Values / Callstacks --- */
 
 .eva-values .eva-cell {
-    background: #eee;
-}
-
-.eva-values .eva-focused {
-    background: #e1e8f7;
-}
-
-.eva-values .eva-transient.eva-focused {
-    background: #fff0d5;
+    background: var(--background-alterning-odd);
 }
 
 .eva-callstack.eva-row-odd .eva-cell {
-    background: #eee;
+    background: var(--background-alterning-odd);
 }
 
 .eva-callstack.eva-row-even .eva-cell {
-    background: #e2e8e8;
+    background: var(--background-alterning-even);
 }
 
 .eva-callstack.eva-row-aligned {
-    background: lightblue;
+    background: var(--grid-layout-holder);
 }
 
 .eva-callstack.eva-row-selected {
-    background: #f9dca6;
+    background: var(--code-select);
 }
 
 /* -------------------------------------------------------------------------- */
diff --git a/ivette/src/ivette/prefs.tsx b/ivette/src/ivette/prefs.tsx
index a23c25351b984e97558d3230bb78e9b5969914d2..a4a6919aceef4bdbff46cdf6e465662caf5c70ae 100644
--- a/ivette/src/ivette/prefs.tsx
+++ b/ivette/src/ivette/prefs.tsx
@@ -78,9 +78,14 @@ export interface ThemeControls {
   wrapText: boolean;
 }
 
-export function useThemeButtons(props: ThemeProps): ThemeControls {
+export function useThemeColors() {
   const [themeColors] = Settings.useGlobalSettings(ColorTheme);
-  const theme = themeColors === 'dark' ? 'dark-code' : 'default';
+  return themeColors === 'dark' ? 'dark-code' : 'default';
+}
+
+export function useThemeButtons(props: ThemeProps): ThemeControls {
+  // const [themeColors] = Settings.useGlobalSettings(ColorTheme);
+  // const theme = themeColors === 'dark' ? 'dark-code' : 'default';
   const [fontSize, setFontSize] = Settings.useGlobalSettings(props.fontSize);
   const [wrapText, setWrapText] = Settings.useGlobalSettings(props.wrapText);
   const zoomIn = () => fontSize < 48 && setFontSize(fontSize + 2);
@@ -88,7 +93,7 @@ export function useThemeButtons(props: ThemeProps): ThemeControls {
   const flipWrapText = () => setWrapText(!wrapText);
   const { disabled = false } = props;
   return {
-    theme,
+    theme: useThemeColors(),
     fontSize,
     wrapText,
     buttons: [
diff --git a/ivette/src/renderer/Controller.tsx b/ivette/src/renderer/Controller.tsx
index 72b3d00388d46f0be483097c07fe3b3626ba3c52..7cfdc5bf4e51e32b0f2d4cd3235fe995c108113a 100644
--- a/ivette/src/renderer/Controller.tsx
+++ b/ivette/src/renderer/Controller.tsx
@@ -37,6 +37,7 @@ import { LED, LEDstatus } from 'dome/controls/displays';
 import { Label, Code } from 'dome/controls/labels';
 import { RichTextBuffer } from 'dome/text/buffers';
 import { Text } from 'dome/text/editors';
+import * as Preferences from 'ivette/prefs';
 
 import * as Ivette from 'ivette';
 import * as Server from 'frama-c/server';
@@ -330,7 +331,7 @@ const RenderConsole = () => {
         buffer={edited ? editor : Server.buffer}
         mode="text"
         readOnly={!edited}
-        theme="ambiance"
+        theme={Preferences.useThemeColors()}
       />
     </>
   );
diff --git a/ivette/src/renderer/style.css b/ivette/src/renderer/style.css
index a13fab9c37152cd1c5fc29862de807f5f387a38d..fdadd655852e3e5a4b7d5758e632ff5841ed0e83 100644
--- a/ivette/src/renderer/style.css
+++ b/ivette/src/renderer/style.css
@@ -59,7 +59,7 @@
 
 .labview-close:hover
 {
-    fill: red ;
+    fill: var(--negative-button-color) ;
 }
 
 .labview-icon {
@@ -67,3 +67,67 @@
 }
 
 /* -------------------------------------------------------------------------- */
+/* --- Styling all scrollbars                                             --- */
+/* -------------------------------------------------------------------------- */
+
+::-webkit-scrollbar {
+  width: 14px;
+  height: 14px;
+}
+
+::-webkit-scrollbar-track {
+  background: var(--background-intense);
+}
+
+::-webkit-scrollbar-thumb {
+  background-color: var(--info-text-discrete);
+  border-radius: 20px;
+  border: 3px solid var(--background-intense);
+}
+
+::-webkit-scrollbar-corner {
+  background-color: var(--background-profound);
+  background: var(--background-profound);
+  color: var(--background-profound);
+}
+
+/* -------------------------------------------------------------------------- */
+/* --- Styling all inputs                                                 --- */
+/* -------------------------------------------------------------------------- */
+
+input[type="text"]::placeholder {
+  font-style: italic;
+  color: var(--text-discrete);
+}
+
+input[type="text"] {
+  vertical-align: middle;
+  margin: 2px 4px 2px 0px;
+  background-color: var(--background-interaction);
+  border: var(--border);
+  border-radius: 2px;
+}
+
+input:focus-visible {
+  outline: none;
+  box-shadow: 0px 0px 1px 1px var(--border);
+}
+
+input[type="checkbox"] {
+  appearance: none;
+  width: 13px;
+  height: 13px;
+  border: 1px solid var(--border);
+  border-radius: 2px;
+  content: "";
+  font-size: 12px;
+  color: var(--text);
+  background-clip: content-box;
+  padding: 1px;
+}
+
+input[type="checkbox"]:checked {
+  background-color: var(--selected-element);
+}
+
+/* -------------------------------------------------------------------------- */