@charset "UTF-8";
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Theme Core CSS                                           - */
/* -                                                          - */
/* - Shared styles for Cylian themes                          - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Colors & Variables                                       - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/*	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/*	- Colors contrast                                         - */
/*	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@use "sass:math";
/*	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/*	- Colors contrast                                         - */
/*	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
:root {
  --color-white: white;
  --color-grey-100: #f8f9fa;
  --color-grey-200: #e9ecef;
  --color-grey-300: #dee2e6;
  --color-grey-400: #ced4da;
  --color-grey-500: #adb5bd;
  --color-grey-600: #6c757d;
  --color-grey-700: #495057;
  --color-grey-800: #343a40;
  --color-grey-900: #212529;
  --color-black: #101010;
  --color-gray-light: var(--color-grey-300);
  --color-gray: var(--color-grey-500);
  --color-gray-dark: var(--color-grey-700);
  --color-navy: #0050a0;
  --color-blue: #0074d9;
  --color-aqua: #7fdbff;
  --color-teal: #39cccc;
  --color-olive: #3d9970;
  --color-green: #2ecc40;
  --color-lime: #01ff70;
  --color-yellow: #ffdc00;
  --color-orange: #ff851b;
  --color-red: #ff4136;
  --color-fuchsia: #f012be;
  --color-purple: #b10dc9;
  --color-maroon: #85144b;
  --color-silver: #dddddd;
  --color-black: #101010;
  --color-white: white;
  --color-danger: var(--color-red);
  --color-success: var(--color-green);
  --color-warning: var(--color-orange);
  --color-notice: var(--color-yellow);
  --color-info: var(--color-aqua);
  --color-muted: var(--color-grey-500);
  --tag-text-color: var(--text-color-surface);
  --tag-draw-color: var(--draw-color-primary);
  --tag-background-color: var(--background-color-surface);
  --table-body-text-color: var(--text-color-surface);
  --table-body-background-color: var(--background-color-surface);
  --link-text-color: var(--text-color-primary);
  --link-text-hover-color: var(--text-color-secondary);
  --link-text-visited-color: var(--text-color-primary);
  --link-text-external-color: var(--text-color-primary);
  --draw-color-danger: var(--color-danger);
  --draw-color-success: var(--color-success);
  --text-color-danger: var(--color-danger);
  --text-color-success: var(--color-success); }
  :root, :root[data-theme=light] {
    --text-color-surface: #58595b;
    --text-color-primary: #317095;
    --text-color-secondary: #5eaadd;
    --draw-color-primary: #5eaadd;
    --draw-color-secondary: #aad2eb;
    --draw-color-surface: #ebebeb;
    --background-color-ground: #fffefd;
    --background-color-surface: white;
    --table-body-draw-color: gainsboro;
    --table-header-background-color: whitesmoke;
    --table-body-stripe-color: #fafafa;
    --selection-color: #d2e6f5;
    --separator-color: linear-gradient(to right, #d2e6f5, #aad2eb, #d2e6f5); }
  :root[data-theme=dark] {
    --text-color-surface: #a0a1a2;
    --text-color-primary: #5eaadd;
    --text-color-secondary: #317095;
    --draw-color-primary: #317095;
    --draw-color-secondary: #23506e;
    --draw-color-surface: #282828;
    --background-color-ground: #141215;
    --background-color-surface: #141215;
    --table-body-draw-color: #323232;
    --table-header-background-color: #1e1c1f;
    --table-body-stripe-color: #19171a;
    --selection-color: #325a82;
    --separator-color: linear-gradient(to right, #325a82, #317095, #325a82); }

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    --text-color-surface: #a0a1a2;
    --text-color-primary: #5eaadd;
    --text-color-secondary: #317095;
    --draw-color-primary: #317095;
    --draw-color-secondary: #23506e;
    --draw-color-surface: #282828;
    --background-color-ground: #141215;
    --background-color-surface: #141215;
    --table-body-draw-color: #323232;
    --table-header-background-color: #1e1c1f;
    --table-body-stripe-color: #19171a;
    --selection-color: #325a82;
    --separator-color: linear-gradient(to right, #325a82, #317095, #325a82); } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Typography                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Buttons Theme                                            - */
/* -                                                          - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Button Base                                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.button {
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: .25rem;
  padding: .5rem .75rem;
  margin: 0;
  border: 1px solid var(--draw-color-primary);
  border-radius: .25rem;
  background-color: var(--background-color-surface);
  color: var(--draw-color-primary);
  font-size: .875rem;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  transition: all 0.15s ease-in-out; }
  .button .icon {
    width: 1rem;
    height: 1rem;
    vertical-align: middle; }
  .button:hover {
    background-color: var(--draw-color-primary);
    color: var(--background-color-surface); }
  .button:focus {
    outline: 2px solid var(--draw-color-primary);
    outline-offset: 2px; }
  .button:active {
    transform: scale(0.98); }

a.button {
  text-decoration: none; }
  a.button:visited {
    color: var(--draw-color-primary); }
  a.button:hover {
    color: var(--background-color-surface); }

button.button {
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Button Icon Only                                         - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.button.icon-only {
  padding: .5rem; }
  .button.icon-only .icon {
    width: 1.25rem;
    height: 1.25rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Button Colors                                            - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.button.color-navy {
  border-color: #0050a0;
  background-color: var(--background-color-surface);
  color: #0050a0; }
  .button.color-navy:hover {
    background-color: #0050a0;
    color: white; }
  .button.color-navy:focus {
    outline-color: #0050a0; }

a.button.color-navy:visited {
  color: #0050a0; }

a.button.color-navy:hover {
  color: white; }

.button.color-blue {
  border-color: #0074d9;
  background-color: var(--background-color-surface);
  color: #0074d9; }
  .button.color-blue:hover {
    background-color: #0074d9;
    color: white; }
  .button.color-blue:focus {
    outline-color: #0074d9; }

a.button.color-blue:visited {
  color: #0074d9; }

a.button.color-blue:hover {
  color: white; }

.button.color-aqua {
  border-color: #7fdbff;
  background-color: var(--background-color-surface);
  color: #7fdbff; }
  .button.color-aqua:hover {
    background-color: #7fdbff;
    color: #212529; }
  .button.color-aqua:focus {
    outline-color: #7fdbff; }

a.button.color-aqua:visited {
  color: #7fdbff; }

a.button.color-aqua:hover {
  color: #212529; }

.button.color-teal {
  border-color: #39cccc;
  background-color: var(--background-color-surface);
  color: #39cccc; }
  .button.color-teal:hover {
    background-color: #39cccc;
    color: #212529; }
  .button.color-teal:focus {
    outline-color: #39cccc; }

a.button.color-teal:visited {
  color: #39cccc; }

a.button.color-teal:hover {
  color: #212529; }

.button.color-olive {
  border-color: #3d9970;
  background-color: var(--background-color-surface);
  color: #3d9970; }
  .button.color-olive:hover {
    background-color: #3d9970;
    color: white; }
  .button.color-olive:focus {
    outline-color: #3d9970; }

a.button.color-olive:visited {
  color: #3d9970; }

a.button.color-olive:hover {
  color: white; }

.button.color-green {
  border-color: #2ecc40;
  background-color: var(--background-color-surface);
  color: #2ecc40; }
  .button.color-green:hover {
    background-color: #2ecc40;
    color: white; }
  .button.color-green:focus {
    outline-color: #2ecc40; }

a.button.color-green:visited {
  color: #2ecc40; }

a.button.color-green:hover {
  color: white; }

.button.color-lime {
  border-color: #01ff70;
  background-color: var(--background-color-surface);
  color: #01ff70; }
  .button.color-lime:hover {
    background-color: #01ff70;
    color: #212529; }
  .button.color-lime:focus {
    outline-color: #01ff70; }

a.button.color-lime:visited {
  color: #01ff70; }

a.button.color-lime:hover {
  color: #212529; }

.button.color-yellow {
  border-color: #ffdc00;
  background-color: var(--background-color-surface);
  color: #ffdc00; }
  .button.color-yellow:hover {
    background-color: #ffdc00;
    color: #212529; }
  .button.color-yellow:focus {
    outline-color: #ffdc00; }

a.button.color-yellow:visited {
  color: #ffdc00; }

a.button.color-yellow:hover {
  color: #212529; }

.button.color-orange {
  border-color: #ff851b;
  background-color: var(--background-color-surface);
  color: #ff851b; }
  .button.color-orange:hover {
    background-color: #ff851b;
    color: #212529; }
  .button.color-orange:focus {
    outline-color: #ff851b; }

a.button.color-orange:visited {
  color: #ff851b; }

a.button.color-orange:hover {
  color: #212529; }

.button.color-red {
  border-color: #ff4136;
  background-color: var(--background-color-surface);
  color: #ff4136; }
  .button.color-red:hover {
    background-color: #ff4136;
    color: white; }
  .button.color-red:focus {
    outline-color: #ff4136; }

a.button.color-red:visited {
  color: #ff4136; }

a.button.color-red:hover {
  color: white; }

.button.color-fuchsia {
  border-color: #f012be;
  background-color: var(--background-color-surface);
  color: #f012be; }
  .button.color-fuchsia:hover {
    background-color: #f012be;
    color: white; }
  .button.color-fuchsia:focus {
    outline-color: #f012be; }

a.button.color-fuchsia:visited {
  color: #f012be; }

a.button.color-fuchsia:hover {
  color: white; }

.button.color-purple {
  border-color: #b10dc9;
  background-color: var(--background-color-surface);
  color: #b10dc9; }
  .button.color-purple:hover {
    background-color: #b10dc9;
    color: white; }
  .button.color-purple:focus {
    outline-color: #b10dc9; }

a.button.color-purple:visited {
  color: #b10dc9; }

a.button.color-purple:hover {
  color: white; }

.button.color-maroon {
  border-color: #85144b;
  background-color: var(--background-color-surface);
  color: #85144b; }
  .button.color-maroon:hover {
    background-color: #85144b;
    color: white; }
  .button.color-maroon:focus {
    outline-color: #85144b; }

a.button.color-maroon:visited {
  color: #85144b; }

a.button.color-maroon:hover {
  color: white; }

.button.color-silver {
  border-color: #dddddd;
  background-color: var(--background-color-surface);
  color: #dddddd; }
  .button.color-silver:hover {
    background-color: #dddddd;
    color: #212529; }
  .button.color-silver:focus {
    outline-color: #dddddd; }

a.button.color-silver:visited {
  color: #dddddd; }

a.button.color-silver:hover {
  color: #212529; }

.button.color-black {
  border-color: #101010;
  background-color: var(--background-color-surface);
  color: #101010; }
  .button.color-black:hover {
    background-color: #101010;
    color: white; }
  .button.color-black:focus {
    outline-color: #101010; }

a.button.color-black:visited {
  color: #101010; }

a.button.color-black:hover {
  color: white; }

.button.color-white {
  border-color: white;
  background-color: var(--background-color-surface);
  color: white; }
  .button.color-white:hover {
    background-color: white;
    color: #212529; }
  .button.color-white:focus {
    outline-color: white; }

a.button.color-white:visited {
  color: white; }

a.button.color-white:hover {
  color: #212529; }

.button.color-danger {
  border-color: #ff4136;
  background-color: var(--background-color-surface);
  color: #ff4136; }
  .button.color-danger:hover {
    background-color: #ff4136;
    color: white; }
  .button.color-danger:focus {
    outline-color: #ff4136; }

a.button.color-danger:visited {
  color: #ff4136; }

a.button.color-danger:hover {
  color: white; }

.button.color-warning {
  border-color: #ff851b;
  background-color: var(--background-color-surface);
  color: #ff851b; }
  .button.color-warning:hover {
    background-color: #ff851b;
    color: #212529; }
  .button.color-warning:focus {
    outline-color: #ff851b; }

a.button.color-warning:visited {
  color: #ff851b; }

a.button.color-warning:hover {
  color: #212529; }

.button.color-notice {
  border-color: #ffdc00;
  background-color: var(--background-color-surface);
  color: #ffdc00; }
  .button.color-notice:hover {
    background-color: #ffdc00;
    color: #212529; }
  .button.color-notice:focus {
    outline-color: #ffdc00; }

a.button.color-notice:visited {
  color: #ffdc00; }

a.button.color-notice:hover {
  color: #212529; }

.button.color-success {
  border-color: #2ecc40;
  background-color: var(--background-color-surface);
  color: #2ecc40; }
  .button.color-success:hover {
    background-color: #2ecc40;
    color: white; }
  .button.color-success:focus {
    outline-color: #2ecc40; }

a.button.color-success:visited {
  color: #2ecc40; }

a.button.color-success:hover {
  color: white; }

.button.color-info {
  border-color: #7fdbff;
  background-color: var(--background-color-surface);
  color: #7fdbff; }
  .button.color-info:hover {
    background-color: #7fdbff;
    color: #212529; }
  .button.color-info:focus {
    outline-color: #7fdbff; }

a.button.color-info:visited {
  color: #7fdbff; }

a.button.color-info:hover {
  color: #212529; }

.button.color-muted {
  border-color: #adb5bd;
  background-color: var(--background-color-surface);
  color: #adb5bd; }
  .button.color-muted:hover {
    background-color: #adb5bd;
    color: #212529; }
  .button.color-muted:focus {
    outline-color: #adb5bd; }

a.button.color-muted:visited {
  color: #adb5bd; }

a.button.color-muted:hover {
  color: #212529; }

.button.fill.color-navy {
  border-color: #0050a0;
  background-color: #0050a0;
  color: white; }
  .button.fill.color-navy:hover {
    background-color: #00376d;
    border-color: #00376d;
    color: white; }
  .button.fill.color-navy:focus {
    outline-color: #0050a0; }

a.button.fill.color-navy:visited {
  color: white; }

a.button.fill.color-navy:hover {
  color: white; }

.button.fill.color-blue {
  border-color: #0074d9;
  background-color: #0074d9;
  color: white; }
  .button.fill.color-blue:hover {
    background-color: #0059a6;
    border-color: #0059a6;
    color: white; }
  .button.fill.color-blue:focus {
    outline-color: #0074d9; }

a.button.fill.color-blue:visited {
  color: white; }

a.button.fill.color-blue:hover {
  color: white; }

.button.fill.color-aqua {
  border-color: #7fdbff;
  background-color: #7fdbff;
  color: #212529; }
  .button.fill.color-aqua:hover {
    background-color: #4ccdff;
    border-color: #4ccdff;
    color: #212529; }
  .button.fill.color-aqua:focus {
    outline-color: #7fdbff; }

a.button.fill.color-aqua:visited {
  color: #212529; }

a.button.fill.color-aqua:hover {
  color: #212529; }

.button.fill.color-teal {
  border-color: #39cccc;
  background-color: #39cccc;
  color: #212529; }
  .button.fill.color-teal:hover {
    background-color: #2ba7a7;
    border-color: #2ba7a7;
    color: white; }
  .button.fill.color-teal:focus {
    outline-color: #39cccc; }

a.button.fill.color-teal:visited {
  color: #212529; }

a.button.fill.color-teal:hover {
  color: white; }

.button.fill.color-olive {
  border-color: #3d9970;
  background-color: #3d9970;
  color: white; }
  .button.fill.color-olive:hover {
    background-color: #2e7555;
    border-color: #2e7555;
    color: white; }
  .button.fill.color-olive:focus {
    outline-color: #3d9970; }

a.button.fill.color-olive:visited {
  color: white; }

a.button.fill.color-olive:hover {
  color: white; }

.button.fill.color-green {
  border-color: #2ecc40;
  background-color: #2ecc40;
  color: white; }
  .button.fill.color-green:hover {
    background-color: #25a233;
    border-color: #25a233;
    color: white; }
  .button.fill.color-green:focus {
    outline-color: #2ecc40; }

a.button.fill.color-green:visited {
  color: white; }

a.button.fill.color-green:hover {
  color: white; }

.button.fill.color-lime {
  border-color: #01ff70;
  background-color: #01ff70;
  color: #212529; }
  .button.fill.color-lime:hover {
    background-color: #00cd5a;
    border-color: #00cd5a;
    color: white; }
  .button.fill.color-lime:focus {
    outline-color: #01ff70; }

a.button.fill.color-lime:visited {
  color: #212529; }

a.button.fill.color-lime:hover {
  color: white; }

.button.fill.color-yellow {
  border-color: #ffdc00;
  background-color: #ffdc00;
  color: #212529; }
  .button.fill.color-yellow:hover {
    background-color: #ccb000;
    border-color: #ccb000;
    color: #212529; }
  .button.fill.color-yellow:focus {
    outline-color: #ffdc00; }

a.button.fill.color-yellow:visited {
  color: #212529; }

a.button.fill.color-yellow:hover {
  color: #212529; }

.button.fill.color-orange {
  border-color: #ff851b;
  background-color: #ff851b;
  color: #212529; }
  .button.fill.color-orange:hover {
    background-color: #e76b00;
    border-color: #e76b00;
    color: white; }
  .button.fill.color-orange:focus {
    outline-color: #ff851b; }

a.button.fill.color-orange:visited {
  color: #212529; }

a.button.fill.color-orange:hover {
  color: white; }

.button.fill.color-red {
  border-color: #ff4136;
  background-color: #ff4136;
  color: white; }
  .button.fill.color-red:hover {
    background-color: #ff1103;
    border-color: #ff1103;
    color: white; }
  .button.fill.color-red:focus {
    outline-color: #ff4136; }

a.button.fill.color-red:visited {
  color: white; }

a.button.fill.color-red:hover {
  color: white; }

.button.fill.color-fuchsia {
  border-color: #f012be;
  background-color: #f012be;
  color: white; }
  .button.fill.color-fuchsia:hover {
    background-color: #c30c9a;
    border-color: #c30c9a;
    color: white; }
  .button.fill.color-fuchsia:focus {
    outline-color: #f012be; }

a.button.fill.color-fuchsia:visited {
  color: white; }

a.button.fill.color-fuchsia:hover {
  color: white; }

.button.fill.color-purple {
  border-color: #b10dc9;
  background-color: #b10dc9;
  color: white; }
  .button.fill.color-purple:hover {
    background-color: #870a99;
    border-color: #870a99;
    color: white; }
  .button.fill.color-purple:focus {
    outline-color: #b10dc9; }

a.button.fill.color-purple:visited {
  color: white; }

a.button.fill.color-purple:hover {
  color: white; }

.button.fill.color-maroon {
  border-color: #85144b;
  background-color: #85144b;
  color: white; }
  .button.fill.color-maroon:hover {
    background-color: #590d32;
    border-color: #590d32;
    color: white; }
  .button.fill.color-maroon:focus {
    outline-color: #85144b; }

a.button.fill.color-maroon:visited {
  color: white; }

a.button.fill.color-maroon:hover {
  color: white; }

.button.fill.color-silver {
  border-color: #dddddd;
  background-color: #dddddd;
  color: #212529; }
  .button.fill.color-silver:hover {
    background-color: #c4c4c4;
    border-color: #c4c4c4;
    color: #212529; }
  .button.fill.color-silver:focus {
    outline-color: #dddddd; }

a.button.fill.color-silver:visited {
  color: #212529; }

a.button.fill.color-silver:hover {
  color: #212529; }

.button.fill.color-black {
  border-color: #101010;
  background-color: #101010;
  color: white; }
  .button.fill.color-black:hover {
    background-color: black;
    border-color: black;
    color: white; }
  .button.fill.color-black:focus {
    outline-color: #101010; }

a.button.fill.color-black:visited {
  color: white; }

a.button.fill.color-black:hover {
  color: white; }

.button.fill.color-white {
  border-color: white;
  background-color: white;
  color: #212529; }
  .button.fill.color-white:hover {
    background-color: #e6e6e6;
    border-color: #e6e6e6;
    color: #212529; }
  .button.fill.color-white:focus {
    outline-color: white; }

a.button.fill.color-white:visited {
  color: #212529; }

a.button.fill.color-white:hover {
  color: #212529; }

.button.fill.color-danger {
  border-color: #ff4136;
  background-color: #ff4136;
  color: white; }
  .button.fill.color-danger:hover {
    background-color: #ff1103;
    border-color: #ff1103;
    color: white; }
  .button.fill.color-danger:focus {
    outline-color: #ff4136; }

a.button.fill.color-danger:visited {
  color: white; }

a.button.fill.color-danger:hover {
  color: white; }

.button.fill.color-warning {
  border-color: #ff851b;
  background-color: #ff851b;
  color: #212529; }
  .button.fill.color-warning:hover {
    background-color: #e76b00;
    border-color: #e76b00;
    color: white; }
  .button.fill.color-warning:focus {
    outline-color: #ff851b; }

a.button.fill.color-warning:visited {
  color: #212529; }

a.button.fill.color-warning:hover {
  color: white; }

.button.fill.color-notice {
  border-color: #ffdc00;
  background-color: #ffdc00;
  color: #212529; }
  .button.fill.color-notice:hover {
    background-color: #ccb000;
    border-color: #ccb000;
    color: #212529; }
  .button.fill.color-notice:focus {
    outline-color: #ffdc00; }

a.button.fill.color-notice:visited {
  color: #212529; }

a.button.fill.color-notice:hover {
  color: #212529; }

.button.fill.color-success {
  border-color: #2ecc40;
  background-color: #2ecc40;
  color: white; }
  .button.fill.color-success:hover {
    background-color: #25a233;
    border-color: #25a233;
    color: white; }
  .button.fill.color-success:focus {
    outline-color: #2ecc40; }

a.button.fill.color-success:visited {
  color: white; }

a.button.fill.color-success:hover {
  color: white; }

.button.fill.color-info {
  border-color: #7fdbff;
  background-color: #7fdbff;
  color: #212529; }
  .button.fill.color-info:hover {
    background-color: #4ccdff;
    border-color: #4ccdff;
    color: #212529; }
  .button.fill.color-info:focus {
    outline-color: #7fdbff; }

a.button.fill.color-info:visited {
  color: #212529; }

a.button.fill.color-info:hover {
  color: #212529; }

.button.fill.color-muted {
  border-color: #adb5bd;
  background-color: #adb5bd;
  color: #212529; }
  .button.fill.color-muted:hover {
    background-color: #919ca6;
    border-color: #919ca6;
    color: #212529; }
  .button.fill.color-muted:focus {
    outline-color: #adb5bd; }

a.button.fill.color-muted:visited {
  color: #212529; }

a.button.fill.color-muted:hover {
  color: #212529; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Button Sizes                                             - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.button.small {
  padding: .25rem .5rem;
  font-size: .75rem; }
  .button.small .icon {
    width: .875rem;
    height: .875rem; }

.button.large {
  padding: .75rem 1rem;
  font-size: 1rem; }
  .button.large .icon {
    width: 1.25rem;
    height: 1.25rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Button Disabled                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.button:disabled,
.button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Fonts Theme (Exo)                                       - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-29                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Font Face Declarations (Exo)                            - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@font-face {
  font-family: Exo;
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-Thin.woff2") format("woff2"), url("/_fonts/Exo-Thin.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: italic,oblique;
  font-weight: 100;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-ThinItalic.woff2") format("woff2"), url("/_fonts/Exo-ThinItalic.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-ExtraLight.woff2") format("woff2"), url("/_fonts/Exo-ExtraLight.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: italic,oblique;
  font-weight: 200;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-ExtraLightItalic.woff2") format("woff2"), url("/_fonts/Exo-ExtraLightItalic.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-Light.woff2") format("woff2"), url("/_fonts/Exo-Light.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: italic,oblique;
  font-weight: 300;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-LightItalic.woff2") format("woff2"), url("/_fonts/Exo-LightItalic.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-Regular.woff2") format("woff2"), url("/_fonts/Exo-Regular.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: italic,oblique;
  font-weight: 400;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-Italic.woff2") format("woff2"), url("/_fonts/Exo-Italic.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-Medium.woff2") format("woff2"), url("/_fonts/Exo-Medium.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: italic,oblique;
  font-weight: 500;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-MediumItalic.woff2") format("woff2"), url("/_fonts/Exo-MediumItalic.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-SemiBold.woff2") format("woff2"), url("/_fonts/Exo-SemiBold.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: italic,oblique;
  font-weight: 600;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-Italic.woff2") format("woff2"), url("/_fonts/Exo-Italic.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-Bold.woff2") format("woff2"), url("/_fonts/Exo-Bold.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: italic,oblique;
  font-weight: 700;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-BoldItalic.woff2") format("woff2"), url("/_fonts/Exo-BoldItalic.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-ExtraBold.woff2") format("woff2"), url("/_fonts/Exo-ExtraBold.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: italic,oblique;
  font-weight: 800;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-ExtraBoldItalic.woff2") format("woff2"), url("/_fonts/Exo-ExtraBoldItalic.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-Black.woff2") format("woff2"), url("/_fonts/Exo-Black.otf") format("opentype"); }

@font-face {
  font-family: Exo;
  font-style: italic,oblique;
  font-weight: 900;
  font-display: swap;
  src: local("Exo"), url("/_fonts/Exo-BlackItalic.woff2") format("woff2"), url("/_fonts/Exo-BlackItalic.otf") format("opentype"); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Headers Typography                                       - */
/* -                                                          - */
/* - Styles for h1-h6 heading elements                        - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Common Header Styles                                     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 1rem;
  padding: 0;
  font-family: inherit;
  line-height: 1.2; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - H1 - Primary heading                                     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
h1 {
  margin-top: 4rem;
  margin-bottom: 4rem;
  font-size: 2.5rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--text-color-primary);
  text-align: center; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - H2 - Secondary heading                                   - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
h2 {
  margin-top: 4rem;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--text-color-primary);
  text-align: left; }
  h2:first-child {
    margin-top: 0; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - H3 - Tertiary heading                                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
h3 {
  margin-top: 4rem;
  font-size: 1.2rem;
  font-weight: 600;
  font-variant: small-caps;
  letter-spacing: 0.15em;
  color: var(--text-color-secondary); }
  h3:first-child {
    margin-top: 0; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - H4 - Quaternary heading                                  - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
h4 {
  margin-top: 4rem;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text-color-surface); }
  h4:first-child {
    margin-top: 0; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - H5 - Quinary heading                                     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
h5 {
  margin-top: 4rem;
  margin-bottom: .75rem;
  font-size: 1.1rem;
  font-weight: 600;
  font-variant: small-caps;
  letter-spacing: 0.15em;
  color: var(--text-color-secondary); }
  h5:first-child {
    margin-top: 0; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - H6 - Senary heading                                      - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
h6 {
  margin-top: 4rem;
  margin-bottom: .75rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-color-surface); }
  h6:first-child {
    margin-top: 0; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Icons Theme                                             - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - OBJECT rules (for <object> elements)                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
object.icon {
  display: inline-block;
  pointer-events: none;
  height: 1em;
  margin: 0;
  padding: 0;
  border: none; }

:root[data-theme="light"] object.icon {
  filter: invert(38%); }

:root[data-theme="dark"] object.icon {
  filter: invert(65%); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - SVG rules (for inline <svg> elements)                   - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
svg.icon {
  display: inline-block;
  height: 1em;
  margin: 0;
  padding: 0;
  border: none; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - IMG rules (for <img> elements)                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
img.icon {
  display: inline-block;
  height: 1em;
  margin: 0;
  padding: 0;
  border: none; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Icon Sizing                                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.icon.icon-size-18 {
  height: 1.125rem; }

.icon.icon-size-24 {
  height: 1.5rem; }

.icon.icon-size-36 {
  height: 2.25rem; }

.icon.icon-size-48 {
  height: 3rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Icon Rotation                                            - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.icon.icon-rotate-45 {
  transform: rotate(45deg); }

.icon.icon-rotate-90 {
  transform: rotate(90deg); }

.icon.icon-rotate-135 {
  transform: rotate(135deg); }

.icon.icon-rotate-180 {
  transform: rotate(180deg); }

.icon.icon-rotate-225 {
  transform: rotate(225deg); }

.icon.icon-rotate-270 {
  transform: rotate(270deg); }

.icon.icon-rotate-315 {
  transform: rotate(315deg); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Icon Animation                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.icon.icon-spin-2 {
  animation: mdi-spin 2s infinite linear; }

@keyframes mdi-spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(359deg); } }

/* Accessibility: respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
  .icon.icon-spin-2 {
    animation: none; } }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Links Typography                                         - */
/* -                                                          - */
/* - Styles for anchor elements                               - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Default link styles                                       - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
a {
  color: var(--link-text-color);
  text-decoration: none;
  transition: color 150ms ease; }
  a:visited {
    color: var(--link-text-visited-color); }
  a:hover {
    color: var(--link-text-hover-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Link without href (anchor/placeholder)                   - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
a:not([href]) {
  color: inherit;
  text-decoration: none;
  cursor: default; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Lists Typography                                         - */
/* -                                                          - */
/* - Styles for ordered and unordered lists                   - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Ordered and Unordered Lists                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
ul, ol {
  line-height: 1.5; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Definition Lists                                         - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
dl {
  line-height: 1.5; }

dt {
  font-weight: 700;
  color: var(--text-color-primary); }

dd {
  margin-left: 0;
  margin-bottom: 0.5em; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Tables Typography                                        - */
/* -                                                          - */
/* - Styles for table elements                                - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Table                                                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  white-space: nowrap;
  color: var(--table-body-text-color);
  background-color: var(--table-body-background-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Table Header                                             - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
thead {
  background-color: var(--table-header-background-color); }

th {
  padding: 0.75rem 1rem;
  font-weight: 700;
  text-align: left;
  border-bottom: 2px solid var(--table-body-draw-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Table Body                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
td {
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--table-body-draw-color); }

tbody tr:nth-child(even) {
  background-color: var(--table-body-stripe-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Table Footer                                             - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
tfoot {
  background-color: var(--table-header-background-color); }
  tfoot td {
    font-weight: 600;
    border-bottom: none;
    border-top: 2px solid var(--table-body-draw-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Column Utilities                                         - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.column-liquid {
  width: 100%; }

.cell-unwrapable {
  white-space: nowrap; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Caption                                                  - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
caption {
  caption-side: bottom;
  margin-top: 1rem;
  padding: 0.5rem 0;
  text-align: center;
  font-style: italic;
  font-size: .75rem;
  color: var(--table-body-text-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Tags Theme                                              - */
/* -                                                          - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@use "sass:math";
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Variables                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Tag Base                                                 - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.tag {
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 2px;
  margin: 0;
  padding: 3px;
  color: var(--tag-text-color);
  background-color: var(--tag-background-color);
  background-size: auto 0.75rem;
  background-position: calc(var(--layout-spacing) / 4) 50%;
  background-repeat: no-repeat;
  border: 1px solid var(--tag-draw-color);
  border-radius: 2px;
  font-size: 0.75rem;
  font-weight: normal;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .tag > img {
    flex: 0 0 auto;
    width: 0.75rem;
    height: 0.75rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Tag Link                                                 - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
a.tag:hover {
  box-shadow: 0 0 4px var(--tag-draw-color); }

a.tag[target="_blank"]::after {
  display: none; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Tag Colors                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.tag.color-navy {
  border-color: #0050a0;
  color: #0050a0; }

a.tag.color-navy:hover {
  box-shadow: 0 0 4px #0050a0; }

.tag.color-blue {
  border-color: #0074d9;
  color: #0074d9; }

a.tag.color-blue:hover {
  box-shadow: 0 0 4px #0074d9; }

.tag.color-aqua {
  border-color: #7fdbff;
  color: #7fdbff; }

a.tag.color-aqua:hover {
  box-shadow: 0 0 4px #7fdbff; }

.tag.color-teal {
  border-color: #39cccc;
  color: #39cccc; }

a.tag.color-teal:hover {
  box-shadow: 0 0 4px #39cccc; }

.tag.color-olive {
  border-color: #3d9970;
  color: #3d9970; }

a.tag.color-olive:hover {
  box-shadow: 0 0 4px #3d9970; }

.tag.color-green {
  border-color: #2ecc40;
  color: #2ecc40; }

a.tag.color-green:hover {
  box-shadow: 0 0 4px #2ecc40; }

.tag.color-lime {
  border-color: #01ff70;
  color: #01ff70; }

a.tag.color-lime:hover {
  box-shadow: 0 0 4px #01ff70; }

.tag.color-yellow {
  border-color: #ffdc00;
  color: #ffdc00; }

a.tag.color-yellow:hover {
  box-shadow: 0 0 4px #ffdc00; }

.tag.color-orange {
  border-color: #ff851b;
  color: #ff851b; }

a.tag.color-orange:hover {
  box-shadow: 0 0 4px #ff851b; }

.tag.color-red {
  border-color: #ff4136;
  color: #ff4136; }

a.tag.color-red:hover {
  box-shadow: 0 0 4px #ff4136; }

.tag.color-fuchsia {
  border-color: #f012be;
  color: #f012be; }

a.tag.color-fuchsia:hover {
  box-shadow: 0 0 4px #f012be; }

.tag.color-purple {
  border-color: #b10dc9;
  color: #b10dc9; }

a.tag.color-purple:hover {
  box-shadow: 0 0 4px #b10dc9; }

.tag.color-maroon {
  border-color: #85144b;
  color: #85144b; }

a.tag.color-maroon:hover {
  box-shadow: 0 0 4px #85144b; }

.tag.color-silver {
  border-color: #dddddd;
  color: #dddddd; }

a.tag.color-silver:hover {
  box-shadow: 0 0 4px #dddddd; }

.tag.color-black {
  border-color: #101010;
  color: #101010; }

a.tag.color-black:hover {
  box-shadow: 0 0 4px #101010; }

.tag.color-white {
  border-color: white;
  color: white; }

a.tag.color-white:hover {
  box-shadow: 0 0 4px white; }

.tag.color-danger {
  border-color: #ff4136;
  color: #ff4136; }

a.tag.color-danger:hover {
  box-shadow: 0 0 4px #ff4136; }

.tag.color-warning {
  border-color: #ff851b;
  color: #ff851b; }

a.tag.color-warning:hover {
  box-shadow: 0 0 4px #ff851b; }

.tag.color-notice {
  border-color: #ffdc00;
  color: #ffdc00; }

a.tag.color-notice:hover {
  box-shadow: 0 0 4px #ffdc00; }

.tag.color-success {
  border-color: #2ecc40;
  color: #2ecc40; }

a.tag.color-success:hover {
  box-shadow: 0 0 4px #2ecc40; }

.tag.color-info {
  border-color: #7fdbff;
  color: #7fdbff; }

a.tag.color-info:hover {
  box-shadow: 0 0 4px #7fdbff; }

.tag.color-muted {
  border-color: #adb5bd;
  color: #adb5bd; }

a.tag.color-muted:hover {
  box-shadow: 0 0 4px #adb5bd; }

.tag.fill.color-navy {
  border-color: #0050a0;
  background-color: #0050a0;
  color: white; }

a.tag.fill.color-navy:hover {
  box-shadow: 0 0 4px #0050a0; }

.tag.fill.color-blue {
  border-color: #0074d9;
  background-color: #0074d9;
  color: white; }

a.tag.fill.color-blue:hover {
  box-shadow: 0 0 4px #0074d9; }

.tag.fill.color-aqua {
  border-color: #7fdbff;
  background-color: #7fdbff;
  color: #212529; }

a.tag.fill.color-aqua:hover {
  box-shadow: 0 0 4px #7fdbff; }

.tag.fill.color-teal {
  border-color: #39cccc;
  background-color: #39cccc;
  color: #212529; }

a.tag.fill.color-teal:hover {
  box-shadow: 0 0 4px #39cccc; }

.tag.fill.color-olive {
  border-color: #3d9970;
  background-color: #3d9970;
  color: white; }

a.tag.fill.color-olive:hover {
  box-shadow: 0 0 4px #3d9970; }

.tag.fill.color-green {
  border-color: #2ecc40;
  background-color: #2ecc40;
  color: white; }

a.tag.fill.color-green:hover {
  box-shadow: 0 0 4px #2ecc40; }

.tag.fill.color-lime {
  border-color: #01ff70;
  background-color: #01ff70;
  color: #212529; }

a.tag.fill.color-lime:hover {
  box-shadow: 0 0 4px #01ff70; }

.tag.fill.color-yellow {
  border-color: #ffdc00;
  background-color: #ffdc00;
  color: #212529; }

a.tag.fill.color-yellow:hover {
  box-shadow: 0 0 4px #ffdc00; }

.tag.fill.color-orange {
  border-color: #ff851b;
  background-color: #ff851b;
  color: #212529; }

a.tag.fill.color-orange:hover {
  box-shadow: 0 0 4px #ff851b; }

.tag.fill.color-red {
  border-color: #ff4136;
  background-color: #ff4136;
  color: white; }

a.tag.fill.color-red:hover {
  box-shadow: 0 0 4px #ff4136; }

.tag.fill.color-fuchsia {
  border-color: #f012be;
  background-color: #f012be;
  color: white; }

a.tag.fill.color-fuchsia:hover {
  box-shadow: 0 0 4px #f012be; }

.tag.fill.color-purple {
  border-color: #b10dc9;
  background-color: #b10dc9;
  color: white; }

a.tag.fill.color-purple:hover {
  box-shadow: 0 0 4px #b10dc9; }

.tag.fill.color-maroon {
  border-color: #85144b;
  background-color: #85144b;
  color: white; }

a.tag.fill.color-maroon:hover {
  box-shadow: 0 0 4px #85144b; }

.tag.fill.color-silver {
  border-color: #dddddd;
  background-color: #dddddd;
  color: #212529; }

a.tag.fill.color-silver:hover {
  box-shadow: 0 0 4px #dddddd; }

.tag.fill.color-black {
  border-color: #101010;
  background-color: #101010;
  color: white; }

a.tag.fill.color-black:hover {
  box-shadow: 0 0 4px #101010; }

.tag.fill.color-white {
  border-color: white;
  background-color: white;
  color: #212529; }

a.tag.fill.color-white:hover {
  box-shadow: 0 0 4px white; }

.tag.fill.color-danger {
  border-color: #ff4136;
  background-color: #ff4136;
  color: white; }

a.tag.fill.color-danger:hover {
  box-shadow: 0 0 4px #ff4136; }

.tag.fill.color-warning {
  border-color: #ff851b;
  background-color: #ff851b;
  color: #212529; }

a.tag.fill.color-warning:hover {
  box-shadow: 0 0 4px #ff851b; }

.tag.fill.color-notice {
  border-color: #ffdc00;
  background-color: #ffdc00;
  color: #212529; }

a.tag.fill.color-notice:hover {
  box-shadow: 0 0 4px #ffdc00; }

.tag.fill.color-success {
  border-color: #2ecc40;
  background-color: #2ecc40;
  color: white; }

a.tag.fill.color-success:hover {
  box-shadow: 0 0 4px #2ecc40; }

.tag.fill.color-info {
  border-color: #7fdbff;
  background-color: #7fdbff;
  color: #212529; }

a.tag.fill.color-info:hover {
  box-shadow: 0 0 4px #7fdbff; }

.tag.fill.color-muted {
  border-color: #adb5bd;
  background-color: #adb5bd;
  color: #212529; }

a.tag.fill.color-muted:hover {
  box-shadow: 0 0 4px #adb5bd; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Tag Icon Only                                            - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.tag.icon-only {
  padding: 3px; }
  .tag.icon-only > img {
    width: 0.75rem;
    height: 0.75rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Tag Disabled                                             - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.tag.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Text Typography                                          - */
/* -                                                          - */
/* - Styles for paragraphs and basic text elements            - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Paragraphs                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
p {
  margin: 0 0 1em;
  padding: 0;
  line-height: 1.5; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Code                                                     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
code, pre, kbd {
  font-family: 'Courier New', Courier, monospace; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Section Headers                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
section > header {
  position: sticky;
  top: 0;
  background-color: var(--background-color-surface); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Blockquote                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
blockquote {
  margin: 1em 0;
  padding-left: 1em;
  border-left: 5px solid var(--draw-color-secondary); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Mark                                                     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
mark {
  background-color: var(--selection-color); }

::selection {
  background-color: var(--selection-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Horizontal Rule                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
hr {
  margin: 1em 0;
  padding: 0;
  height: 1px;
  border: none;
  background: var(--separator-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Typography: Miscellaneous                               - */
/* -                                                          - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
.lead {
  font-size: 1.2em;
  font-weight: 300;
  color: var(--text-color-secondary); }

pre.wrap {
  white-space: pre-wrap;
  overflow-wrap: break-word; }

pre.console {
  background: #1e1e1e;
  color: #d4d4d4;
  border-radius: 4px;
  padding: 1rem;
  font-family: Consolas, Monaco, 'Courier New', monospace;
  font-size: 0.9em; }

summary {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: .5rem; }

.spacer {
  flex: 1 1 auto; }

p.slogan {
  text-align: center;
  color: var(--text-color-primary);
  font-weight: 300;
  margin-top: .5rem; }
  p.slogan::before, p.slogan::after {
    content: "―";
    opacity: .4;
    margin: 0 .5rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Forms                                                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Forms Theme                                              - */
/* -                                                          - */
/* - Semantic HTML form styling, inspired by picocss          - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - CSS Variables                                            - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
:root {
  --form-input-background-color: var(--background-color-surface);
  --form-input-border-color: var(--draw-color-surface);
  --form-input-border-color-focus: var(--draw-color-primary);
  --form-input-text-color: var(--text-color-surface);
  --form-input-placeholder-color: var(--color-grey-400);
  --form-label-text-color: var(--text-color-surface);
  --form-label-font-weight: 500;
  --form-helper-text-color: var(--color-grey-500);
  --form-valid-color: var(--color-success);
  --form-invalid-color: var(--color-danger);
  --form-spacing: 1rem;
  --form-input-padding-x: 0.75rem;
  --form-input-padding-y: 0.5rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Form Element                                             - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
form {
  display: flex;
  flex-direction: column;
  gap: var(--form-spacing); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Label                                                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
label {
  display: block;
  font-weight: var(--form-label-font-weight);
  color: var(--form-label-text-color); }
  label > input,
  label > select,
  label > textarea {
    margin-top: 0.25rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Input, Select, Textarea Base                             - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]),
select,
textarea {
  width: 100%;
  box-sizing: border-box;
  padding: var(--form-input-padding-y) var(--form-input-padding-x);
  margin: 0;
  border: 1px solid var(--form-input-border-color);
  border-radius: 0.25rem;
  background-color: var(--form-input-background-color);
  color: var(--form-input-text-color);
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.5;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"])::placeholder,
  select::placeholder,
  textarea::placeholder {
    color: var(--form-input-placeholder-color);
    opacity: 1; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]):focus,
  select:focus,
  textarea:focus {
    border-color: var(--form-input-border-color-focus);
    outline: none;
    box-shadow: 0 0 0 2px rgba(94, 170, 221, 0.25); }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]):disabled,
  select:disabled,
  textarea:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: var(--draw-color-surface); }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]):read-only,
  select:read-only,
  textarea:read-only {
    background-color: var(--draw-color-surface); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Select Specific                                          - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%2358595b' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  padding-right: 2.5rem;
  cursor: pointer; }
  select option {
    padding: var(--form-input-padding-y) var(--form-input-padding-x); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Textarea Specific                                        - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
textarea {
  resize: vertical;
  min-height: 6rem; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Checkbox and Radio                                       - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
input[type="checkbox"],
input[type="radio"] {
  width: 1.125rem;
  height: 1.125rem;
  vertical-align: middle;
  margin: 0 0.5rem 0 0;
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid var(--form-input-border-color);
  background-color: var(--form-input-background-color);
  cursor: pointer;
  transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out; }
  input[type="checkbox"]:focus,
  input[type="radio"]:focus {
    border-color: var(--form-input-border-color-focus);
    outline: none;
    box-shadow: 0 0 0 2px rgba(94, 170, 221, 0.25); }
  input[type="checkbox"]:checked,
  input[type="radio"]:checked {
    border-color: var(--draw-color-primary);
    background-color: var(--draw-color-primary); }
  input[type="checkbox"]:disabled,
  input[type="radio"]:disabled {
    opacity: 0.5;
    cursor: not-allowed; }

input[type="checkbox"] {
  border-radius: 0.25rem; }
  input[type="checkbox"]:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 111.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 0.875rem; }

input[type="radio"] {
  border-radius: 50%; }
  input[type="radio"]:checked {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle fill='white' cx='8' cy='8' r='4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1rem; }

label:has(input[type="checkbox"]),
label:has(input[type="radio"]) {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 400;
  cursor: pointer; }
  label:has(input[type="checkbox"]) > input,
  label:has(input[type="radio"]) > input {
    margin: 0; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Range Input                                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
input[type="range"] {
  width: 100%;
  box-sizing: border-box;
  height: 0.5rem;
  -webkit-appearance: none;
  appearance: none;
  background: var(--form-input-border-color);
  border-radius: 0.25rem;
  cursor: pointer; }
  input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background: var(--draw-color-primary);
    border: none;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out; }
  input[type="range"]::-moz-range-thumb {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background: var(--draw-color-primary);
    border: none;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out; }
  input[type="range"]:focus {
    outline: none; }
    input[type="range"]:focus::-webkit-slider-thumb {
      box-shadow: 0 0 0 2px rgba(94, 170, 221, 0.25); }
    input[type="range"]:focus::-moz-range-thumb {
      box-shadow: 0 0 0 2px rgba(94, 170, 221, 0.25); }
  input[type="range"]:disabled {
    opacity: 0.5;
    cursor: not-allowed; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Color Input                                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
input[type="color"] {
  width: 3rem;
  height: 2.5rem;
  padding: 0.25rem;
  border: 1px solid var(--form-input-border-color);
  border-radius: 0.25rem;
  background-color: var(--form-input-background-color);
  cursor: pointer; }
  input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0; }
  input[type="color"]::-webkit-color-swatch {
    border: none;
    border-radius: 0.125rem; }
  input[type="color"]:focus {
    border-color: var(--form-input-border-color-focus);
    outline: none;
    box-shadow: 0 0 0 2px rgba(94, 170, 221, 0.25); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - File Input                                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  padding: var(--form-input-padding-y) var(--form-input-padding-x);
  border: 1px dashed var(--form-input-border-color);
  border-radius: 0.25rem;
  background-color: var(--form-input-background-color);
  font-family: inherit;
  font-size: 0.875rem;
  color: var(--form-input-text-color);
  cursor: pointer; }
  input[type="file"]::file-selector-button {
    -webkit-appearance: none;
    appearance: none;
    padding: 0.25rem 0.75rem;
    margin-right: 0.75rem;
    border: 1px solid var(--draw-color-primary);
    border-radius: 0.25rem;
    background-color: var(--background-color-surface);
    color: var(--draw-color-primary);
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 400;
    cursor: pointer;
    transition: all 0.15s ease-in-out; }
  input[type="file"]:hover::file-selector-button {
    background-color: var(--draw-color-primary);
    color: var(--background-color-surface); }
  input[type="file"]:focus {
    border-color: var(--form-input-border-color-focus);
    outline: none; }
  input[type="file"]:disabled {
    opacity: 0.5;
    cursor: not-allowed; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Fieldset and Legend                                      - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
fieldset {
  margin: 0;
  padding: var(--form-spacing);
  border: 1px solid var(--form-input-border-color);
  border-radius: 0.25rem;
  display: flex;
  flex-direction: column;
  gap: var(--form-spacing); }

legend {
  padding: 0 0.5rem;
  font-weight: var(--form-label-font-weight);
  color: var(--form-label-text-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Helper Text                                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
form small,
label small,
fieldset small {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--form-helper-text-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Validation States                                        - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
input:valid:not(:placeholder-shown):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"])[required], input:valid:not(:placeholder-shown):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"])[pattern], input:valid:not(:placeholder-shown):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"])[min], input:valid:not(:placeholder-shown):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"])[max],
select:valid:not(:placeholder-shown)[required],
select:valid:not(:placeholder-shown)[pattern],
select:valid:not(:placeholder-shown)[min],
select:valid:not(:placeholder-shown)[max],
textarea:valid:not(:placeholder-shown)[required],
textarea:valid:not(:placeholder-shown)[pattern],
textarea:valid:not(:placeholder-shown)[min],
textarea:valid:not(:placeholder-shown)[max] {
  border-color: var(--form-valid-color); }
  input:valid:not(:placeholder-shown):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"])[required]:focus, input:valid:not(:placeholder-shown):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"])[pattern]:focus, input:valid:not(:placeholder-shown):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"])[min]:focus, input:valid:not(:placeholder-shown):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"])[max]:focus,
  select:valid:not(:placeholder-shown)[required]:focus,
  select:valid:not(:placeholder-shown)[pattern]:focus,
  select:valid:not(:placeholder-shown)[min]:focus,
  select:valid:not(:placeholder-shown)[max]:focus,
  textarea:valid:not(:placeholder-shown)[required]:focus,
  textarea:valid:not(:placeholder-shown)[pattern]:focus,
  textarea:valid:not(:placeholder-shown)[min]:focus,
  textarea:valid:not(:placeholder-shown)[max]:focus {
    border-color: var(--form-valid-color);
    box-shadow: 0 0 0 2px rgba(46, 160, 67, 0.25); }

input:invalid:not(:placeholder-shown):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]),
select:invalid:not(:placeholder-shown),
textarea:invalid:not(:placeholder-shown) {
  border-color: var(--form-invalid-color); }
  input:invalid:not(:placeholder-shown):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="submit"]):not([type="reset"]):not([type="button"]):focus,
  select:invalid:not(:placeholder-shown):focus,
  textarea:invalid:not(:placeholder-shown):focus {
    border-color: var(--form-invalid-color);
    box-shadow: 0 0 0 2px rgba(218, 54, 51, 0.25); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Input Group                                              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
[role="group"] {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem; }
  [role="group"] > * {
    flex: 1 1 auto; }
  [role="group"] > input,
  [role="group"] > select,
  [role="group"] > button,
  [role="group"] > .button {
    margin: 0; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Form Grid Layout                                         - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
form.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--form-spacing); }
  form.grid > .full-width {
    grid-column: 1 / -1; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Submit Buttons in Forms                                  - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 0.75rem;
  margin: 0;
  border: 1px solid var(--draw-color-primary);
  border-radius: 0.25rem;
  background-color: var(--background-color-surface);
  color: var(--draw-color-primary);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  -webkit-appearance: none;
  appearance: none; }
  input[type="submit"]:hover,
  input[type="reset"]:hover,
  input[type="button"]:hover {
    background-color: var(--draw-color-primary);
    color: var(--background-color-surface); }
  input[type="submit"]:focus,
  input[type="reset"]:focus,
  input[type="button"]:focus {
    outline: 2px solid var(--draw-color-primary);
    outline-offset: 2px; }
  input[type="submit"]:active,
  input[type="reset"]:active,
  input[type="button"]:active {
    transform: scale(0.98); }
  input[type="submit"]:disabled,
  input[type="reset"]:disabled,
  input[type="button"]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none; }

input[type="submit"] {
  background-color: var(--draw-color-primary);
  color: var(--background-color-surface); }
  input[type="submit"]:hover {
    background-color: var(--draw-color-secondary);
    border-color: var(--draw-color-secondary); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Layout Components (shared)                               - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Body Theme                                              - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Body Element                                             - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
body {
  max-width: 1600px;
  margin: 0 auto;
  font-family: Exo, Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.5;
  color: var(--text-color-surface);
  background-color: var(--background-color-ground); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - After Theme                                             - */
/* -                                                          - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - SHADOW DOM ISOLATION: scoped to footer#theme-after      - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
footer#theme-after {
  display: block;
  margin: 0;
  padding: 0; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Footer Theme                                            - */
/* -                                                          - */
/* - Note: Additional footer styles are defined in:          - */
/* -   • menu/_footer.scss (navigation menu)                 - */
/* -                                                          - */
/* - ✓ VALIDATED: 2025-12-12                                 - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - SHADOW DOM ISOLATION: scoped to footer#theme-footer     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
footer#theme-footer {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  margin: 0;
  padding: 0;
  font-size: .75rem;
  color: var(--text-color-surface);
  user-select: none;
  user-select: none;
  user-select: none;
  user-select: none; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Left Theme                                              - */
/* -                                                          - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - SHADOW DOM ISOLATION: scoped to layout-left              - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
layout-left#layout-left > aside#theme-left {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  box-sizing: border-box; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Navigation                                              - */
/* -                                                          - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Navigation container                                     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
nav.navigation {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0;
  padding: 0; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Navigation links                                         - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
nav.navigation > a {
  display: flex;
  flex: 1 1 auto;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  padding: 0.5rem 1rem;
  gap: 0.5rem;
  text-decoration: none;
  color: var(--text-color-surface);
  border-left: 3px solid transparent;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Navigation links - Hover/Focus state                     - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
nav.navigation > a:hover,
nav.navigation > a:focus,
nav.navigation > a.active {
  outline: none;
  color: var(--text-color-primary);
  border-left-color: var(--draw-color-primary);
  background-color: var(--selection-color); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Theme Left: Navigation border visible                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
[data-theme-left] nav.navigation > a {
  border-left-color: var(--draw-color-secondary); }

[data-theme-left] nav.navigation > a:hover,
[data-theme-left] nav.navigation > a:focus,
[data-theme-left] nav.navigation > a.active {
  border-left-color: var(--draw-color-primary); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Theme Right: Navigation border visible (symmetric)        - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
[data-theme-right] nav.navigation > a {
  border-left: none;
  border-right: 3px solid var(--draw-color-secondary); }

[data-theme-right] nav.navigation > a:hover,
[data-theme-right] nav.navigation > a:focus,
[data-theme-right] nav.navigation > a.active {
  border-right-color: var(--draw-color-primary); }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Right Theme                                             - */
/* -                                                          - */
/* - Author: Cylian                                           - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - SHADOW DOM ISOLATION: scoped to layout-right             - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
layout-right#layout-right > aside#theme-right {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  box-sizing: border-box; }

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Modal                                                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* - Modal                                                    - */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
dialog {
  border: none;
  border-radius: 8px;
  padding: 0;
  max-width: 800px;
  width: 90vw;
  max-height: 80vh;
  overflow-y: auto;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  background: var(--background-color-surface);
  color: var(--text-color-surface); }
  dialog::backdrop {
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px); }
  dialog[open] {
    animation: modal-fade-in 0.2s ease; }
  dialog > header {
    position: sticky;
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--draw-color-secondary);
    font-weight: 600;
    background: var(--background-color-surface); }
    dialog > header button[data-modal-close] {
      background: none;
      border: none;
      outline: none;
      font-size: 1.5rem;
      cursor: pointer;
      color: var(--text-color-secondary);
      padding: 0;
      line-height: 1; }
      dialog > header button[data-modal-close]:hover {
        color: var(--text-color-primary); }
  dialog > article {
    padding: 1.5rem; }

dialog pre {
  white-space: pre-wrap;
  overflow-wrap: break-word;
  background: #1e1e1e;
  color: #d4d4d4;
  border-radius: 4px;
  padding: 1rem;
  font-family: Consolas, Monaco, 'Courier New', monospace;
  font-size: 0.9em; }

@keyframes modal-fade-in {
  from {
    opacity: 0;
    transform: translateY(-10px); }
  to {
    opacity: 1;
    transform: translateY(0); } }

/*# sourceMappingURL=core.css.map */