:root {
  color-scheme: light;
  --white: #FFFFFF;
  --black: #000000;
  --gray: #ACACAC;
  --charcoal: #4A4A4A;
  --navy: #1F3A5A;
  --sand: #E7D8B8;
  --gold: #C9A56A;
  --ink: #1F3A5A;
  --muted: #4A4A4A;
  --line: rgb(31 58 90 / 18%);
  --line-strong: rgb(31 58 90 / 34%);
  --accent: #1F3A5A;
  --portal-header: #1F3A5A;
  --surface-solid: #FFFFFF;
  --surface: #FFFFFF;
  --surface-muted: #E7D8B8;
  --canvas: #FFFFFF;
  --focus: #C9A56A;
  --radius-sm: .65rem;
  --radius-md: 1rem;
  --radius-lg: 1.4rem;
  --shadow-sm: 0 .35rem 1.1rem rgb(31 58 90 / 9%);
  --shadow-md: 0 1rem 3rem rgb(31 58 90 / 14%);
  --glass-content: rgb(255 255 255 / 62%);
  --glass-raised: rgb(255 255 255 / 72%);
  --glass-blur: 1.6rem;
  --glass-saturation: 145%;
  --glass-rim: rgb(255 255 255 / 78%);
  --glass-shadow:
    0 1.3rem 3.4rem rgb(31 58 90 / 18%),
    0 .25rem .8rem rgb(0 0 0 / 8%),
    inset 0 1px 0 var(--glass-rim),
    inset 0 -1px 0 rgb(31 58 90 / 9%);
  --content-width: 76rem;
}

body {
  min-width: 20rem;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.portal-body {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.language-selector {
  display: flex;
  align-items: center;
  margin: 0;
}

.language-selector select {
  background: var(--white);
  color: var(--navy);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: .01ms !important;
  }

  body:not(.public-site) *,
  body:not(.public-site) *::before,
  body:not(.public-site) *::after {
    animation-duration: .01ms !important;
  }
}
