+/* Message */
+.message {
+       margin: 0 .5rem;
+       display: flex;
+       flex-direction: row;
+       justify-content: space-between;
+       font-size: .9rem;
+       padding: .2rem;
+       border-radius: .2rem;
+       border: .05rem solid transparent;
+       text-align: center;
+}
+
+.message::before,
+.message::after {
+       margin: auto 0;
+       padding: 0 .25rem;
+}
+
+p.message {
+       margin: 0;
+}
+
+.message ul {
+       margin: 0;
+       padding: 0;
+       list-style: none inside none;
+       gap: .1rem;
+}
+
+.message li {
+       padding: .25rem;
+}
+
+.error {
+       border-color: #c33333;
+       background-color: #f9c3c3;
+       color: #c33333;
+}
+
+.error::before,
+.error::after {
+       /*XXX: display /!\ symbol */
+       content: "⚠";
+}
+
+.notice {
+       border-color: #3333c3;
+       background-color: #c3c3f9;
+       color: #3333c3;
+}
+
+.notice::before,
+.notice::after {
+       /*XXX: see https://www.fileformat.info/info/unicode/char/2139/fontsupport.htm
+        * DejaVu Sans/FreeSans/FreeSerif/Linux Libertine/Symbola/Unifont*/
+       /*XXX: display i symbol */
+       content: "ℹ";
+       /*XXX: display # symbol */
+       /*content: "⌘";*/
+}
+
+.warning {
+       border-color: #c39333;
+       background-color: #f9c333;
+       color: #936333;
+}
+
+.warning::before,
+.warning::after {
+       /*XXX: see https://www.fileformat.info/info/unicode/char/2139/fontsupport.htm
+        * DejaVu Sans/FreeSans/FreeSerif/Linux Libertine/Symbola/Unifont*/
+       content: "?";
+       /*XXX: display # symbol */
+       /*content: "⌘";*/
+}
+