/* Loaded after every theme asset: fixes contrast for the three primary user actions. */
html body.of-body [data-i18n="management"],
html body.of-body [data-i18n="login_button"],
html body.of-body [data-i18n="register_button"],
html body.of-body [data-i18n="create_account"],
html body.of-body [data-i18n="already_have_account"] {
  color: #f5f0e6 !important;
  border-color: rgba(255, 255, 255, .12) !important;
  background-color: #0d1014 !important;
  background-image: radial-gradient(120% 100% at 0 0, rgba(116, 191, 224, .09), transparent 52%), url('/media/textures/matte-noise.png') !important;
  background-blend-mode: normal, soft-light !important;
}

html body.of-body [data-i18n="management"]:hover,
html body.of-body [data-i18n="login_button"]:hover,
html body.of-body [data-i18n="register_button"]:hover,
html body.of-body [data-i18n="create_account"]:hover,
html body.of-body [data-i18n="already_have_account"]:hover,
html body.of-body [data-i18n="management"]:focus-visible,
html body.of-body [data-i18n="login_button"]:focus-visible,
html body.of-body [data-i18n="register_button"]:focus-visible,
html body.of-body [data-i18n="create_account"]:focus-visible,
html body.of-body [data-i18n="already_have_account"]:focus-visible {
  color: #f8f3e9 !important;
  border-color: rgba(112, 215, 255, .48) !important;
  background-color: #1a2a33 !important;
  background-image: radial-gradient(120% 100% at 0 0, rgba(116, 191, 224, .16), transparent 52%), url('/media/textures/matte-noise.png') !important;
  background-blend-mode: normal, soft-light !important;
}

/* Auth consent controls are kept here because this stylesheet is loaded last. */
.registration-consent {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  padding: 10px 12px 10px 37px !important;
}

.registration-consent > span {
  display: block !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  text-indent: 0 !important;
  white-space: normal !important;
  line-height: 1.42 !important;
}

.registration-consent > input,
.social-consent-option > input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.registration-consent > span > i {
  display: none !important;
}

.registration-consent::before {
  content: '' !important;
  position: absolute !important;
  top: 11px !important;
  left: 13px !important;
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  box-sizing: border-box !important;
  border: 1px solid #66dff4 !important;
  border-radius: 3px !important;
  background: #101517 !important;
}

.registration-consent.is-checked::before,
.registration-consent:has(input:checked)::before {
  border-color: #a9f45a !important;
  background: #a9f45a !important;
}

.registration-consent.is-checked::after,
.registration-consent:has(input:checked)::after {
  content: '' !important;
  position: absolute !important;
  top: 13px !important;
  left: 17px !important;
  display: block !important;
  width: 5px !important;
  height: 8px !important;
  border-right: 2px solid #111 !important;
  border-bottom: 2px solid #111 !important;
  transform: rotate(45deg) !important;
}

.social-consent-option {
  position: relative !important;
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 8px !important;
  padding: 9px 10px 9px 37px !important;
}

.social-consent-option > span {
  display: block !important;
  min-height: 16px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  text-indent: 0 !important;
  white-space: normal !important;
}

.social-consent-option .social-consent-copy {
  display: block !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  text-indent: 0 !important;
  white-space: normal !important;
  line-height: 1.42 !important;
}

.social-consent-option::before {
  content: '' !important;
  position: absolute !important;
  top: 10px !important;
  left: 13px !important;
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  box-sizing: border-box !important;
  border: 1px solid #66dff4 !important;
  border-radius: 3px !important;
  background: #101517 !important;
}

.social-consent-option.is-checked::before,
.social-consent-option:has(input:checked)::before {
  border-color: #a9f45a !important;
  background: #a9f45a !important;
}

.social-consent-option.is-checked::after,
.social-consent-option:has(input:checked)::after {
  content: '' !important;
  position: absolute !important;
  top: 12px !important;
  left: 17px !important;
  display: block !important;
  width: 5px !important;
  height: 8px !important;
  border-right: 2px solid #111 !important;
  border-bottom: 2px solid #111 !important;
  transform: rotate(45deg) !important;
}

/* Same compact language menu as the public MineLy site: no cyan outlines. */
.of-lang-menu {
  width: 204px !important;
  padding: 6px !important;
  border: 1px solid rgba(245, 240, 230, .16) !important;
  border-radius: 6px !important;
  background-color: #101010 !important;
  background-image: url('/media/textures/matte-noise.png') !important;
  background-blend-mode: soft-light !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .32) !important;
}

.of-lang-menu button {
  min-height: 36px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background-color: transparent !important;
  background-image: url('/media/textures/matte-noise.png') !important;
  background-blend-mode: soft-light !important;
  color: #dfdcd6 !important;
  box-shadow: none !important;
}

.of-lang-menu button.active {
  background-color: #282828 !important;
  color: #fffaf2 !important;
}

.of-lang-menu button:hover,
.of-lang-menu button:focus-visible {
  border: 0 !important;
  background-color: #1d1d1d !important;
  color: #fffaf2 !important;
  transform: translateY(-1px) !important;
  box-shadow: none !important;
}

/* Consent layout is a real two-column grid: input and text can never form separate rows. */
.registration-consent,
.social-consent-option {
  display: grid !important;
  grid-template-columns: 16px minmax(0, 1fr) !important;
  grid-auto-rows: min-content !important;
  column-gap: 8px !important;
  align-items: start !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 10px 12px !important;
}

.registration-consent > input,
.social-consent-option > input {
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  box-sizing: border-box !important;
  border: 1px solid #66dff4 !important;
  border-radius: 3px !important;
  background: #101517 !important;
  box-shadow: none !important;
}

.registration-consent > input:checked,
.social-consent-option > input:checked {
  border-color: #a9f45a !important;
  background-color: #a9f45a !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.2 6.3 11.3 13 4.7' fill='none' stroke='%23111' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 13px 13px !important;
}

.registration-consent > span,
.social-consent-option > span,
.social-consent-option .social-consent-copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  min-width: 0 !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;
  white-space: normal !important;
  line-height: 1.42 !important;
}

.registration-consent::before,
.registration-consent::after,
.social-consent-option::before,
.social-consent-option::after {
  display: none !important;
}

/* Dedicated visible control: the native input remains only the form value. */
.registration-consent > input,
.social-consent-option > input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
}

.registration-consent > .consent-control,
.social-consent-option > .consent-control {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid #66dff4 !important;
  border-radius: 3px !important;
  background-color: #101517 !important;
  background-image: none !important;
  box-shadow: none !important;
}

.registration-consent.is-checked > .consent-control,
.social-consent-option.is-checked > .consent-control,
.registration-consent:has(input:checked) > .consent-control,
.social-consent-option:has(input:checked) > .consent-control {
  border-color: #a9f45a !important;
  background-color: #a9f45a !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.2 6.3 11.3 13 4.7' fill='none' stroke='%23111' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 13px 13px !important;
}

.registration-consent > .consent-copy,
.social-consent-option > .consent-copy {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  min-width: 0 !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  align-self: start !important;
  white-space: normal !important;
  line-height: 1.42 !important;
}

@media (min-width: 901px) {
  .sidebar-compact-toggle {
    left: 276px !important;
  }

  html.sidebar-compact .sidebar-compact-toggle {
    left: 86px !important;
  }
}
