body {
  font-family: 'Inria Sans', Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
}

table,th,td {
  border: 0;
}

main {
  padding-top: 1em;
}

img.avatar {
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: 200px;
  height: 200px;
}

.half {
  width: 50%;
}

.twenty {
  width: 20%;
  max-height: 5em;
  object-fit: cover;
}

.left {
  float: left;
}

.right {
  float: right;
}

.clear {
  clear: both;
}

.middle > svg {
  vertical-align: middle;
}

svg {
  width: 2em;
  height: 2em;
  padding: 0.8em;
}

h1, h2, div.centered > h3,
nav.centered {
  text-align: center;
  margin-top: 2em;
}

nav.centered > a {
  display: inline-block;
}

nav.list svg {
  width: 1em;
  height: 1em;
  padding: 0.4em;
}

section > ul {
  list-style-type: none;
}

/*** Inria color theme ***/

/* Primary dark text: #1e293b */
body,
h1, h2, h3, h4, h5, h6,
code, pre,
th,
input, textarea, select, button,
a:hover,
a:visited:hover {
  color: #1e293b;
}

/* Muted text: #64748b */
svg,
header p,
blockquote,
time,
footer,
footer a,
nav a,
.lang-switcher a,
.lang-switcher span,
.post-summary,
article time {
  color: #747b8b;
}

/* Accent color: #2563eb */
a,
a:visited,
nav a:hover,
.lang-switcher a:hover,
article h2 a:hover,
footer a:hover,
header strong a:hover {
  color: #c9191e;
}

/* White backgrounds: #ffffff */
header,
main,
article,
input, textarea, select, button {
  background-color: #ffffff;
}

/* Light gray backgrounds: #f8fafc */
body,
code,
pre,
blockquote,
th,
tr:nth-child(even) td,
footer,
aside,
article:hover {
  background-color: #d8d9dd;
}

/* Border color: #e2e8f0 */
header,
hr,
code,
pre,
blockquote,
table,
th, td,
input, textarea, select, button,
article,
aside {
  border-color: #9ca0ab;
}

/* Special border colors */
pre,
blockquote,
article,
aside {
  border-left-color: #747b8b;
}

article:hover {
  border-left-color: #c9191e;
}

nav a:hover {
  border-bottom-color: #c9191e;
}

/* Button backgrounds */
button,
input[type="submit"] {
  background-color: #c9191e;
  color: #ffffff;
  border-color: #c9191e;
}

@media (prefers-color-scheme: dark) {
  /* Dark mode color palette:
   * Foreground/Text:
   *   - #f8fafc (light text)
   *   - #94a3b8 (muted light text)
   *   - #60a5fa (accent/links - lighter blue for contrast)
   *
   * Backgrounds:
   *   - #0f172a (dark background)
   *   - #1e293b (content background)
   *   - #334155 (border gray)
   */

  /* Light text: #f8fafc */
  body,
  h1, h2, h3, h4, h5, h6,
  code, pre,
  th,
  input, textarea, select, button,
  a:hover,
  a:visited:hover {
    color: #f8fafc;
  }

  /* Muted light text: #94a3b8 */
  svg,
  header p,
  blockquote,
  time,
  footer,
  footer a,
  nav a,
  .lang-switcher a,
  .lang-switcher span,
  .post-summary,
  article time {
    color: #9ca0ab;
  }

  /* Light accent color: #60a5fa */
  a,
  a:visited,
  nav a:hover,
  .lang-switcher a:hover,
  article h2 a:hover,
  footer a:hover,
  header strong a:hover {
    color: #e30613;
  }

  /* Dark backgrounds: #0f172a */
  body,
  footer {
    background-color: #0f172a;
  }

  /* Content backgrounds: #1e293b */
  header,
  main,
  article,
  code,
  pre,
  blockquote,
  th,
  tr:nth-child(even) td,
  aside,
  article:hover,
  input, textarea, select, button {
    background-color: #384257;
  }

  /* Border color: #334155 */
  header,
  hr,
  code,
  pre,
  blockquote,
  table,
  th, td,
  input, textarea, select, button,
  article,
  aside {
    border-color: #747b8b;
  }

  /* Special border colors */
  pre,
  blockquote,
  article,
  aside {
    border-left-color: #9ca0ab;
  }

  article:hover {
    border-left-color: #e30613;
  }

  a:hover,
  a:visited:hover {
    border-bottom-color: #f8fafc;
  }

  nav a:hover {
    border-bottom-color: #e30613;
  }

  /* Button backgrounds */
  button,
  input[type="submit"] {
    background-color: #e30613;
    border-color: #e30613;
  }

  button:hover,
  input[type="submit"]:hover {
    background-color: #f8fafc;
    color: #0f172a;
    border-color: #f8fafc;
  }
}
