/* TODO: we shuoud use basic theme there  */

[uc-cloud-image-editor] {
  --color-primary-accent: var(--uc-primary);
  --color-text-base: var(--uc-foreground);
  --color-text-accent-contrast: var(--uc-background);
  --color-fill-contrast: var(--uc-background);
  --color-modal-backdrop: oklch(0 0 0 / 0.1);
  --color-image-background: var(--uc-muted);
  --color-focus-ring: var(--color-primary-accent);
  --color-crop-guides: var(--uc-foreground);

  --font-size-ui: var(--uc-font-size);

  --size-touch-area: var(--uc-button-size);
  --size-panel-heading: calc(var(--uc-button-size) + var(--uc-padding) * 2);
  --size-ui-min-width: 130px;
  --size-line-width: 1px;
  --size-modal-width: 650px;
  --size-icon: calc(var(--uc-button-size) / 2);

  /* TODO: remove icon size overrides */

  --border-radius-editor: var(--uc-radius);
  --border-radius-thumb: var(--uc-radius);
  --border-radius-ui: var(--uc-radius);
  --border-radius-base: var(--uc-radius);

  --cldtr-gap-min: 5px;
  --cldtr-gap-mid-1: 10px;
  --cldtr-gap-mid-2: 15px;
  --cldtr-gap-max: 20px;

  --transition-duration-2: var(--transition-duration-all, 0.2s);
  --transition-duration-3: var(--transition-duration-all, 0.3s);
  --transition-duration-4: var(--transition-duration-all, 0.4s);
  --transition-duration-5: var(--transition-duration-all, 0.5s);

  --modal-header-opacity: 1;
  --modal-header-height: var(--size-panel-heading);
  --modal-toolbar-height: var(--size-panel-heading);

  --transparent-pixel: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=');

  display: block;
  width: 100%;
  height: 100%;
  max-height: 100%;
}

[uc-cloud-image-editor] :is([can-handle-paste]:hover, [can-handle-paste]:focus) {
  --can-handle-paste: 'true';
}

[uc-cloud-image-editor]
  :is([tabindex][focus-visible], [tabindex]:hover, [with-effects][focus-visible], [with-effects]:hover) {
  --filter-effect: var(--hover-filter) !important;
  --opacity-effect: var(--hover-opacity) !important;
  --color-effect: var(--hover-color-rgb) !important;
  --background-effect: var(--hover-background) !important;
}

[uc-cloud-image-editor] :is([tabindex]:active, [with-effects]:active) {
  --filter-effect: var(--down-filter) !important;
  --opacity-effect: var(--down-opacity) !important;
  --color-effect: var(--down-color-rgb) !important;
  --background-effect: var(--down-background) !important;
}

[uc-cloud-image-editor] :is([tabindex][active], [with-effects][active]) {
  --filter-effect: var(--active-filter) !important;
  --opacity-effect: var(--active-opacity) !important;
  --color-effect: var(--active-color-rgb) !important;
  --background-effect: var(--active-background) !important;
}

[uc-cloud-image-editor] [hidden-scrollbar]::-webkit-scrollbar {
  display: none;
}

[uc-cloud-image-editor] [hidden-scrollbar] {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

[uc-cloud-image-editor].uc-editor_ON {
  --modal-header-opacity: 0;
  --modal-header-height: 0px;
  --modal-toolbar-height: calc(var(--size-panel-heading) * 2);
}

[uc-cloud-image-editor].uc-editor_OFF {
  --modal-header-opacity: 1;
  --modal-header-height: var(--size-panel-heading);
  --modal-toolbar-height: var(--size-panel-heading);
}

[uc-cloud-image-editor] > .uc-wrapper {
  --l-min-img-height: var(--modal-toolbar-height);
  --l-max-img-height: 100%;
  --l-edit-button-width: 120px;
  --l-toolbar-horizontal-padding: var(--cldtr-gap-mid-1);

  position: relative;
  display: grid;
  grid-template-rows: minmax(var(--l-min-img-height), var(--l-max-img-height)) minmax(var(--modal-toolbar-height), auto);
  height: 100%;
  overflow: hidden;
  overflow-y: auto;
}

@media only screen and (max-width: 800px) {
  [uc-cloud-image-editor] > .uc-wrapper {
    --l-edit-button-width: 70px;
    --l-toolbar-horizontal-padding: var(--cldtr-gap-min);
  }
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-viewport {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image {
  --viewer-image-opacity: 1;

  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 10;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  object-fit: scale-down;
  background-color: var(--color-image-background);
  transform: scale(1);
  opacity: var(--viewer-image-opacity);
  user-select: none;
  pointer-events: auto;
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image.uc-image_visible_viewer {
  transition:
    opacity var(--transition-duration-3) ease-in-out,
    transform var(--transition-duration-4);
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image.uc-image_hidden_to_cropper {
  --viewer-image-opacity: 0;

  background-image: var(--transparent-pixel);
  transform: scale(1);
  transition:
    transform var(--transition-duration-4),
    opacity var(--transition-duration-3) steps(1, jump-end);
  pointer-events: none;
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container > .uc-image.uc-image_hidden_effects {
  --viewer-image-opacity: 0;

  transform: scale(1);
  transition:
    opacity var(--transition-duration-3) cubic-bezier(0.5, 0, 1, 1),
    transform var(--transition-duration-4);
  pointer-events: none;
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-image_container {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-image-background);
  transition: var(--transition-duration-3);
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar {
  position: relative;
  transition: 0.3s;
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar > .uc-toolbar_content {
  position: absolute;
  bottom: 0px;
  left: 0px;
  box-sizing: border-box;
  width: 100%;
  height: var(--modal-toolbar-height);
  min-height: var(--size-panel-heading);
  background-color: var(--color-fill-contrast);
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar > .uc-toolbar_content.uc-toolbar_content__viewer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--size-panel-heading);
  padding-right: var(--l-toolbar-horizontal-padding);
  padding-left: var(--l-toolbar-horizontal-padding);
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-toolbar > .uc-toolbar_content.uc-toolbar_content__editor {
  display: flex;
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-info_pan {
  position: absolute;
  user-select: none;
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-file_type_outer {
  position: absolute;
  z-index: 2;
  display: flex;
  max-width: 120px;
  transform: translateX(-40px);
  user-select: none;
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-viewport > .uc-file_type_outer > .uc-file_type {
  padding: 4px 0.8em;
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash {
  position: absolute;
  z-index: 4;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background-color: var(--color-fill-contrast);
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash > .uc-network_problems_content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

[uc-cloud-image-editor]
  > .uc-wrapper
  > .uc-network_problems_splash
  > .uc-network_problems_content
  > .uc-network_problems_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--uc-foreground);
  background-color: var(--uc-muted);
  border-radius: 50%;
}

[uc-cloud-image-editor]
  > .uc-wrapper
  > .uc-network_problems_splash
  > .uc-network_problems_content
  > .uc-network_problems_text {
  margin-top: var(--cldtr-gap-max);
  font-size: var(--font-size-ui);
  color: var(--uc-foreground);
}

[uc-cloud-image-editor] > .uc-wrapper > .uc-network_problems_splash > .uc-network_problems_footer {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--size-panel-heading);
}

uc-crop-frame > .uc-svg {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
  width: 100%;
  height: 100%;
  border-top-left-radius: var(--border-radius-base);
  border-top-right-radius: var(--border-radius-base);
  opacity: inherit;
  transition: var(--transition-duration-3);
}

uc-crop-frame > .uc-thumb {
  --idle-color-rgb: var(--color-text-base);
  --hover-color-rgb: var(--color-primary-accent);
  --focus-color-rgb: var(--color-primary-accent);
  --down-color-rgb: var(--color-primary-accent);
  --color-effect: var(--idle-color-rgb);

  color: var(--color-effect);
  transition:
    color var(--transition-duration-3),
    opacity var(--transition-duration-3);
}

uc-crop-frame > .uc-thumb--visible {
  opacity: 1;
  pointer-events: auto;
}

uc-crop-frame > .uc-thumb--hidden {
  opacity: 0;
  pointer-events: none;
}

uc-crop-frame > .uc-guides {
  transition: var(--transition-duration-3);
}

uc-crop-frame > .uc-guides--hidden {
  opacity: 0;
}

uc-crop-frame > .uc-guides--semi-hidden {
  opacity: 0.2;
}

uc-crop-frame > .uc-guides--visible {
  opacity: 1;
}

uc-editor-button-control,
uc-editor-crop-button-control,
uc-editor-filter-control,
uc-editor-operation-control {
  --l-base-min-width: var(--uc-button-size);
  --l-base-height: var(--uc-button-size);
  --opacity-effect: var(--idle-opacity);
  --color-effect: var(--idle-color-rgb);
  --background-effect: var(--idle-background);
  --filter-effect: var(--idle-filter);

  --idle-color-rgb: var(--uc-secondary-foreground);
  --idle-opacity: 1;
  --idle-filter: 1;
  --idle-background: var(--uc-secondary);
  --hover-color-rgb: var(--uc-secondary-foreground);
  --hover-opacity: 1;
  --hover-filter: 0.8;
  --hover-background: var(--uc-secondary-hover);
  --down-color-rgb: var(--hover-color-rgb);
  --down-opacity: 1;
  --down-filter: 0.6;
  --down-background: var(--uc-secondary);

  border-radius: var(--uc-radius);
}

uc-editor-button-control > button,
uc-editor-crop-button-control > button,
uc-editor-filter-control > button,
uc-editor-operation-control > button {
  all: unset;
  position: relative;
  display: grid;
  grid-template-columns: var(--l-base-min-width) auto;
  grid-template-rows: 100%;
  align-items: center;
  height: var(--l-base-height);
  color: var(--color-effect);
  opacity: var(--opacity-effect);
  cursor: pointer;
  transition: var(--l-width-transition);
}

:where(uc-editor-button-control, uc-editor-crop-button-control, uc-editor-filter-control, uc-editor-operation-control)
  > uc-icon
  > svg {
  width: var(--size-icon);
  height: var(--size-icon);
}

uc-editor-filter-control > uc-icon.uc-original-icon > svg {
  width: 100%;
  height: 100%;
}

uc-editor-button-control.uc-active,
uc-editor-operation-control.uc-active,
uc-editor-crop-button-control.uc-active,
uc-editor-filter-control.uc-active {
  --idle-color-rgb: var(--uc-primary-foreground);
  --idle-background: var(--uc-primary);
  --idle-opacity: 1;
  --hover-color-rgb: var(--uc-primary-foreground);
  --hover-background: var(--uc-primary);
  --hover-opacity: 1;
}

uc-editor-filter-control.uc-not_active .uc-preview[loaded] {
  opacity: 1;
}

uc-editor-filter-control.uc-active .uc-preview {
  opacity: 0;
}

uc-editor-button-control.uc-not_active,
uc-editor-operation-control.uc-not_active,
uc-editor-crop-button-control.uc-not_active,
uc-editor-filter-control.uc-not_active {
  --idle-color-rgb: var(--uc-secondary-foreground);
}

:where(.uc-contrast) uc-editor-button-control.uc-not_active,
:where(.uc-contrast) uc-editor-operation-control.uc-not_active,
:where(.uc-contrast) uc-editor-crop-button-control.uc-not_active,
:where(.uc-contrast) uc-editor-filter-control.uc-not_active {
  --idle-background: transparent;
  --hover-background: var(--uc-secondary);

  outline: 1px solid var(--uc-border);
  outline-offset: -1px;
}

uc-editor-button-control > button::before,
uc-editor-operation-control > button::before,
uc-editor-crop-button-control > button::before,
uc-editor-filter-control > button::before {
  position: absolute;
  content: '';
  right: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: var(--background-effect);
  border-radius: var(--border-radius-editor);
  transition: var(--transition-duration-3);
}

uc-editor-button-control > button .uc-title,
uc-editor-operation-control > button .uc-title,
uc-editor-crop-button-control > button .uc-title,
uc-editor-filter-control > button .uc-title {
  padding-right: var(--cldtr-gap-mid-1);
  font-size: 0.7em;
  letter-spacing: 1.004px;
  text-transform: uppercase;
}

uc-editor-button-control > button uc-icon,
uc-editor-operation-control > button uc-icon,
uc-editor-crop-button-control > button uc-icon,
uc-editor-filter-control > button uc-icon {
  pointer-events: none;
}

uc-editor-filter-control > button .uc-preview {
  position: absolute;
  right: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: var(--l-base-height);
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: var(--border-radius-editor);
  opacity: 0;
  filter: brightness(var(--filter-effect));
  transition: var(--transition-duration-3);
}

uc-editor-filter-control > .uc-original-icon {
  color: var(--color-effect);
  opacity: 0.3;
}

uc-editor-image-cropper {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 10;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  touch-action: none;
  color: var(--color-crop-guides);
}

uc-editor-image-cropper.uc-active_from_editor {
  transform: scale(1) translate(0px, 0px);
  opacity: 1;
  transition:
    transform var(--transition-duration-4) cubic-bezier(0.37, 0, 0.63, 1) 0.4s,
    opacity var(--transition-duration-3);
  pointer-events: auto;
}

uc-editor-image-cropper.uc-active_from_viewer {
  transform: scale(1) translate(0px, 0px);
  opacity: 1;
  transition:
    transform var(--transition-duration-4) cubic-bezier(0.37, 0, 0.63, 1) 0.4s,
    opacity var(--transition-duration-3);
  pointer-events: auto;
}

uc-editor-image-cropper.uc-inactive_to_editor {
  opacity: 0;
  transition:
    transform var(--transition-duration-4) cubic-bezier(0.37, 0, 0.63, 1),
    opacity var(--transition-duration-3) calc(var(--transition-duration-3) + 0.05s);
  pointer-events: none;
}

uc-editor-image-cropper > .uc-canvas {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

uc-editor-image-fader {
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
  width: 100%;
  height: 100%;
}

uc-editor-image-fader.uc-active_from_viewer {
  z-index: 3;
  transform: scale(1);
  opacity: 1;
  transition:
    transform var(--transition-duration-4),
    opacity var(--transition-duration-3) steps(1, jump-start);
  pointer-events: auto;
}

uc-editor-image-fader.uc-active_from_cropper {
  z-index: 3;
  transform: scale(1);
  opacity: 1;
  transition:
    transform var(--transition-duration-4),
    opacity var(--transition-duration-3) steps(1, jump-end);
  pointer-events: auto;
}

uc-editor-image-fader.uc-inactive_to_cropper {
  z-index: 3;
  transform: scale(1);
  opacity: 0;
  transition:
    transform var(--transition-duration-4),
    opacity var(--transition-duration-3) steps(1, jump-end);
  pointer-events: none;
}

uc-editor-image-fader .uc-fader-image {
  position: absolute;
  top: 0px;
  left: 0px;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: scale-down;
  transform: scale(1);
  user-select: none;
  content-visibility: auto;
}

uc-editor-image-fader .uc-fader-image--preview {
  background-color: var(--color-image-background);
  border-top-left-radius: var(--border-radius-base);
  border-top-right-radius: var(--border-radius-base);
  transform: scale(1);
  opacity: 0;
  transition: var(--transition-duration-3);
}

uc-editor-scroller {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow-x: scroll;
}

uc-editor-slider {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: var(--size-panel-heading);
}

uc-editor-toolbar {
  position: relative;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 600px) {
  uc-editor-toolbar {
    --l-tab-gap: var(--cldtr-gap-mid-1);
    --l-slider-padding: var(--uc-padding);
    --l-controls-padding: var(--uc-padding);
  }
}

@media only screen and (min-width: 601px) {
  uc-editor-toolbar {
    --l-tab-gap: var(--cldtr-gap-max);
    --l-slider-padding: var(--uc-padding);
    --l-controls-padding: var(--uc-padding);
  }
}

uc-editor-toolbar > .uc-toolbar-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar {
  position: absolute;
  display: grid;
  grid-template-rows: 1fr 1fr;
  width: 100%;
  height: 100%;
  background-color: var(--color-fill-contrast);
  transition:
    opacity var(--transition-duration-3) ease-in-out,
    transform var(--transition-duration-3) ease-in-out,
    visibility var(--transition-duration-3) ease-in-out;
}

uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar.uc-sub-toolbar--visible {
  transform: translateY(0px);
  opacity: 1;
  pointer-events: auto;
}

uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar.uc-sub-toolbar--top-hidden {
  transform: translateY(100%);
  opacity: 0;
  pointer-events: none;
}

uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar.uc-sub-toolbar--bottom-hidden {
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
}

uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: var(--l-controls-padding);
  padding-left: var(--l-controls-padding);
}

uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-controls-row > .uc-tab-toggles {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-gap: 0px var(--l-tab-gap);
  align-items: center;
  height: 100%;
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-controls-row
  > .uc-tab-toggles
  > .uc-tab-toggles_indicator {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: var(--size-touch-area);
  height: 2px;
  background-color: var(--uc-secondary-foreground);
  transform: translateX(0px);
  transition: transform var(--transition-duration-3);
}

uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row {
  position: relative;
}

uc-editor-toolbar > .uc-toolbar-container > .uc-sub-toolbar > .uc-tab-content-row > .uc-tab-content {
  position: absolute;
  top: 0px;
  left: 0px;
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  content-visibility: auto;
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-tab-content-row
  > .uc-tab-content.uc-tab-content--visible {
  opacity: 1;
  pointer-events: auto;
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-tab-content-row
  > .uc-tab-content.uc-tab-content--hidden {
  opacity: 0;
  pointer-events: none;
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-controls-row
  > .uc-tab-toggles
  > .uc-tab-toggle.uc-tab-toggle--visible {
  display: contents;
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-controls-row
  > .uc-tab-toggles
  > .uc-tab-toggle.uc-tab-toggle--hidden {
  display: none;
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-controls-row
  > .uc-tab-toggles.uc-tab-toggles--hidden {
  display: none;
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-controls-row
  > .uc-tab-toggles
  > .uc-tab-toggle
  > uc-btn-ui {
  width: var(--uc-button-size);
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-controls-row
  > .uc-tab-toggles
  > .uc-tab-toggle
  > uc-btn-ui
  > uc-icon
  > svg {
  width: var(--size-icon);
  height: var(--size-icon);
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-tab-content-row
  > .uc-tab-content
  .uc-controls-list_align {
  display: grid;
  grid-template-areas: '. inner .';
  grid-template-columns: 1fr auto 1fr;
  box-sizing: border-box;
  min-width: 100%;
  padding-left: var(--uc-padding);
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-tab-content-row
  > .uc-tab-content
  .uc-controls-list_inner {
  display: grid;
  grid-area: inner;
  grid-auto-flow: column;
  gap: 6px;
}

uc-editor-toolbar
  > .uc-toolbar-container
  > .uc-sub-toolbar
  > .uc-tab-content-row
  > .uc-tab-content
  .uc-controls-list_inner:last-child {
  padding-right: var(--uc-padding);
}

uc-editor-toolbar .uc-controls-list_last-item {
  margin-right: var(--cldtr-gap-max);
}

uc-editor-toolbar .uc-info-tooltip_container {
  position: absolute;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: 100%;
}

uc-editor-toolbar .uc-info-tooltip_wrapper {
  position: absolute;
  top: calc(-100% - var(--cldtr-gap-mid-2));
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  pointer-events: none;
}

uc-editor-toolbar .uc-info-tooltip {
  z-index: 3;
  padding: 3px 6px;
  color: var(--color-text-base);
  font-size: 0.7em;
  letter-spacing: 1px;
  text-transform: uppercase;
  background-color: var(--color-text-accent-contrast);
  border-radius: var(--border-radius-editor);
  transform: translateY(100%);
  opacity: 0;
  transition: var(--transition-duration-3);
}

uc-editor-toolbar .uc-info-tooltip_visible {
  transform: translateY(0px);
  opacity: 1;
}

uc-editor-toolbar .uc-slider {
  padding-right: var(--l-slider-padding);
  padding-left: var(--l-slider-padding);
}

uc-btn-ui > button {
  --filter-effect: var(--idle-brightness);
  --opacity-effect: var(--idle-opacity);
  --color-effect: var(--idle-color-rgb);
  --background-effect: var(--idle-background);
  --l-transition-effect: var(
    --css-transition,
    color var(--transition-duration-2),
    background-color var(--transition-duration-2),
    filter var(--transition-duration-2)
  );

  all: unset;
  display: inline-flex;
  align-items: center;
  box-sizing: var(--css-box-sizing, border-box);
  height: var(--css-height, var(--uc-button-size));
  padding-right: var(--css-padding-right, 14px);
  padding-left: var(--css-padding-left, 14px);
  font-size: 1em;
  color: var(--color-effect);
  background-color: var(--background-effect);
  border-radius: var(--uc-radius);
  opacity: var(--opacity-effect);
  cursor: pointer;
  filter: brightness(var(--filter-effect));
  transition: var(--l-transition-effect);
  user-select: none;
}

uc-btn-ui > button > uc-icon {
  pointer-events: none;
}

uc-btn-ui .uc-text {
  white-space: nowrap;
}

uc-btn-ui .uc-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-effect);
  filter: brightness(var(--filter-effect));
  transition: var(--l-transition-effect);
}

uc-btn-ui .uc-icon_left {
  margin-right: var(--cldtr-gap-mid-1);
  margin-left: 0px;
}

uc-btn-ui .uc-icon_right {
  margin-right: 0px;
  margin-left: var(--cldtr-gap-mid-1);
}

uc-btn-ui .uc-icon_single {
  margin-right: 0px;
  margin-left: 0px;
}

uc-btn-ui .uc-icon_hidden {
  display: none;
  margin: 0;
}

uc-btn-ui.uc-primary > button {
  --idle-color-rgb: var(--uc-primary-foreground);
  --idle-brightness: 1;
  --idle-opacity: 1;
  --idle-background: var(--uc-primary);
  --hover-color-rgb: var(--uc-primary-foreground);
  --hover-brightness: 1;
  --hover-opacity: 1;
  --hover-background: var(--uc-primary-hover);
  --down-color-rgb: var(--uc-primary-foreground);
  --down-brightness: 0.75;
  --down-opacity: 1;
  --down-background: var(--uc-primary);
  --active-color-rgb: var(--uc-primary-foreground);
  --active-brightness: 1;
  --active-opacity: 1;
  --active-background: var(--uc-primary);
}

uc-btn-ui.uc-primary-icon > button {
  --idle-color-rgb: var(--uc-primary);
  --idle-brightness: 1;
  --idle-opacity: 1;
  --idle-background: transparent;
  --hover-color-rgb: var(--uc-primary);
  --hover-brightness: 1;
  --hover-opacity: 1;
  --hover-background: var(--uc-primary-transparent);
  --down-color-rgb: var(--uc-primary);
  --down-brightness: 0.75;
  --down-opacity: 1;
  --down-background: var(--uc-primary-transparent);
  --active-color-rgb: var(--uc-primary-foreground);
  --active-brightness: 1;
  --active-opacity: 1;
  --active-background: var(--uc-primary);

  padding: 0;
  width: var(--uc-button-size);
}

uc-btn-ui.uc-secondary > button {
  --idle-color-rgb: var(--uc-secondary-foreground);
  --idle-brightness: 1;
  --idle-opacity: 1;
  --idle-background: var(--uc-secondary);
  --hover-color-rgb: var(--uc-secondary-foreground);
  --hover-brightness: 1;
  --hover-opacity: 1;
  --hover-background: var(--uc-secondary-hover);
  --down-color-rgb: var(--uc-secondary-foreground);
  --down-brightness: 1;
  --down-opacity: 1;
  --down-background: var(--uc-secondary-hover);
  --active-color-rgb: var(--uc-secondary-foreground);
  --active-brightness: 1;
  --active-opacity: 1;
  --active-background: transparent;
}

:where(.uc-contrast) uc-btn-ui.uc-secondary > button {
  border: 1px solid var(--uc-border);
}

uc-btn-ui.uc-secondary-icon > button {
  --idle-color-rgb: var(--uc-secondary-foreground);
  --idle-brightness: 1;
  --idle-opacity: 1;
  --idle-background: transparent;
  --hover-color-rgb: var(--uc-secondary-foreground);
  --hover-brightness: 1;
  --hover-opacity: 1;
  --hover-background: var(--uc-secondary);
  --down-color-rgb: var(--uc-secondary-foreground);
  --down-brightness: 1;
  --down-opacity: 1;
  --down-background: var(--uc-secondary);
  --active-color-rgb: var(--uc-secondary-foreground);
  --active-brightness: 1;
  --active-opacity: 1;
  --active-background: transparent;

  padding: 0;
  width: var(--uc-button-size);
}

uc-btn-ui.uc-tab > button {
  --idle-color-rgb: var(--uc-secondary-foreground);
  --idle-brightness: 1;
  --idle-opacity: 1;
  --idle-background: transparent;
  --hover-color-rgb: var(--uc-secondary-foreground);
  --hover-brightness: 1;
  --hover-opacity: 1;
  --hover-background: var(--uc-secondary);
  --down-color-rgb: var(--uc-secondary-foreground);
  --down-brightness: 1;
  --down-opacity: 1;
  --down-background: var(--uc-secondary);
  --active-color-rgb: var(--uc-secondary-foreground);
  --active-brightness: 1;
  --active-opacity: 1;
  --active-background: transparent;

  padding: 0;
  width: var(--uc-button-size);
}

uc-btn-ui.uc-default > button {
  --idle-color-rgb: var(--uc-secondary-foreground);
  --idle-brightness: 1;
  --idle-opacity: 1;
  --idle-background: var(--uc-secondary);
  --hover-color-rgb: var(--uc-secondary-foreground);
  --hover-brightness: 1;
  --hover-opacity: 1;
  --hover-background: var(--uc-secondary-hover);
  --down-color-rgb: var(--uc-secondary-foreground);
  --down-brightness: 0.75;
  --down-opacity: 1;
  --down-background: var(--uc-secondary);
  --active-color-rgb: var(--uc-primary);
  --active-brightness: 1;
  --active-opacity: 1;
  --active-background: var(--uc-primary-transparent);
}

:where(.uc-contrast) uc-btn-ui.uc-default > button {
  --idle-background: transparent;
  --hover-background: var(--uc-secondary);
  --active-background: var(--uc-foreground);
  --active-color-rgb: var(--uc-background);
}

uc-line-loader-ui {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 9999;
  width: 100%;
  height: 2px;
  opacity: 0.5;
}

uc-line-loader-ui .uc-inner {
  width: 25%;
  max-width: 200px;
  height: 100%;
}

uc-line-loader-ui .uc-line {
  width: 100%;
  height: 100%;
  background-color: var(--uc-primary);
  transform: translateX(-101%);
  transition: transform 1s;
}

uc-slider-ui {
  --l-thumb-size: 24px;
  --l-zero-dot-size: 5px;
  --l-zero-dot-offset: 2px;
  --idle-color-rgb: var(--uc-foreground);
  --hover-color-rgb: var(--uc-primary);
  --down-color-rgb: var(--uc-primary);
  --color-effect: var(--idle-color-rgb);
  --l-color: var(--color-effect);

  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(var(--l-thumb-size) + (var(--l-zero-dot-size) + var(--l-zero-dot-offset)) * 2);
}

uc-slider-ui .uc-thumb {
  position: absolute;
  left: 0px;
  width: var(--l-thumb-size);
  height: var(--l-thumb-size);
  background-color: var(--l-color);
  border-radius: 50%;
  transform: translateX(0px);
  opacity: 1;
  transition:
    opacity var(--transition-duration-2),
    background-color var(--transition-duration-2);
}

uc-slider-ui .uc-steps {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding-right: calc(var(--l-thumb-size) / 2);
  padding-left: calc(var(--l-thumb-size) / 2);
}

uc-slider-ui .uc-border-step {
  width: 0px;
  height: 10px;
  border-right: 1px solid var(--uc-foreground);
  opacity: 1;
  transition: border-color var(--transition-duration-2);
}

uc-slider-ui .uc-minor-step {
  width: 0px;
  height: 4px;
  border-right: 1px solid var(--uc-foreground);
  opacity: 0.6;
  transition: border-color var(--transition-duration-2);
}

uc-slider-ui .uc-zero-dot {
  position: absolute;
  top: calc(100% - var(--l-zero-dot-offset) * 2);
  left: calc(var(--l-thumb-size) / 2 - var(--l-zero-dot-size) / 2);
  width: var(--l-zero-dot-size);
  height: var(--l-zero-dot-size);
  background-color: var(--color-primary-accent);
  border-radius: 50%;
  opacity: 0;
  transition: var(--transition-duration-3);
}

uc-slider-ui .uc-input {
  position: absolute;
  width: calc(100% - 10px);
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}

uc-presence-toggle.uc-transition {
  transition:
    opacity var(--transition-duration-3),
    visibility var(--transition-duration-3);
}

uc-presence-toggle.uc-visible {
  opacity: 1;
  pointer-events: inherit;
}

uc-presence-toggle.uc-hidden {
  opacity: 0;
  pointer-events: none;
}

uc-presence-toggle.uc-initial {
  display: none !important;
  transition: none !important;
}

[uc-cloud-image-editor] [role='button']:focus-visible,
[uc-cloud-image-editor] button:focus-visible {
  outline: 1px auto Highlight;
  outline: 1px auto -webkit-focus-ring-color;
}

[uc-cloud-image-editor] .uc-cloud-mask {
  pointer-events: none;
}
