/**
 * @license
 * MIT License
 * 
 * Copyright (c) 2025 Uploadcare (hello@uploadcare.com). All rights reserved.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 * 
 */
@layer uc,
uc.base,
uc.components,
uc.rules,
uc.solutions,
uc.post-reset,
uc.base,
uc.rules,
uc.post-reset;

@layer uc.components {
  uc-activity-header {
    display: flex;
    justify-content: space-between;
    gap: var(--uc-padding);
    padding: var(--uc-padding);
    color: var(--uc-foreground);
    font-weight: 500;
    font-size: 1em;
  }

  uc-activity-header > * {
    display: flex;
    align-items: center;
  }
}

@layer uc.components {
  uc-camera-source {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    background-color: var(--uc-background);
    border-radius: var(--uc-radius);
  }

  [uc-modal] > dialog:has(uc-camera-source[active]) {
    width: 100%;
    height: 100%;
  }

  uc-camera-source:not(.uc-initialized) .uc-controls {
    display: none;
  }

  uc-camera-source video {
    display: block;
    width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
    background-color: var(--uc-muted);
    border-radius: var(--uc-radius);
  }

  uc-camera-source .uc-toolbar {
    position: absolute;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: var(--uc-padding);
    background-color: var(--uc-background);
  }

  uc-camera-source .uc-content {
    display: flex;
    flex: 1;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: var(--uc-padding);
    padding-top: 0;
    overflow: hidden;
  }

  uc-camera-source .uc-message-box {
    display: flex;
    flex-direction: column;
    grid-gap: 40px;
    align-items: center;
    justify-content: center;
    padding: 40px 40px 0;
    color: var(--uc-foreground);
  }

  uc-camera-source .uc-message-box button {
    color: var(--uc-primary-foreground);
    background-color: var(--uc-primary);
  }

  uc-camera-source .uc-shot-btn {
    width: 58px;
    height: 58px;
    color: var(--uc-background);
    background-color: var(--uc-primary-light);
    border-radius: 50%;
    opacity: 0.85;
    transition: bottom var(--uc-transition), opacity var(--uc-transition),
      transform var(--uc-transition);
  }

  uc-camera-source .uc-shot-btn:hover {
    transform: scale(1.05);
    opacity: 1;
  }

  uc-camera-source .uc-shot-btn:active {
    transform: scale(1);
    opacity: 1;
  }

  uc-camera-source .uc-shot-btn[disabled] {
    bottom: -80px;
  }

  uc-camera-source .uc-shot-btn uc-icon svg {
    width: 20px;
    height: 20px;
  }

  uc-camera-source .uc-controls {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 var(--uc-padding) var(--uc-padding);
    min-height: 74px;
  }

  uc-camera-source .uc-switcher {
    display: flex;
    gap: calc(var(--uc-padding) / 2);
  }

  uc-camera-source .uc-switch.uc-active {
    background-color: var(--uc-secondary);
  }

  uc-camera-source .uc-camera-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
  }

  uc-camera-source .uc-stop-record {
    background-color: var(--uc-destructive-foreground-light);
    opacity: 1;
  }

  :where(uc-camera-source:is(.uc-recording)) .uc-recording-timer uc-icon {
    display: none;
  }

  :where(uc-camera-source:is(.uc-recording)) .uc-recording-timer {
    pointer-events: none;
  }

  uc-camera-source .uc-recording-timer {
    z-index: 1;
    position: relative;
    overflow: hidden;
  }

  :where(uc-camera-source) .uc-recording-timer uc-icon {
    width: 10px;
    height: 10px;
    margin-right: 10px;
  }

  uc-camera-source .uc-recording-timer .uc-line {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--uc-foreground-light);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--uc-transition);
  }

  uc-camera-source .uc-btn-microphone {
    z-index: 1;
  }

  uc-camera-source .uc-select {
    display: flex;
  }

  uc-camera-source .uc-audio-select {
    width: 98px;
  }

  uc-camera-source .uc-audio-select select {
    width: 100%;
  }

  uc-camera-source .uc-camera-action {
    position: absolute;
    inset: 0 var(--uc-padding) var(--uc-padding);
    margin: 0 auto;
  }
}

@layer uc.solutions {
  [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);
    --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: 0;
    left: 0;
    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);
    -webkit-user-select: none;
    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: 0;
    left: 0;
    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;
    -webkit-user-select: none;
    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: translate(-40px);
    -webkit-user-select: none;
    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: 0;
    left: 0;
    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-aspect-ratio-button-control,
  uc-editor-freeform-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-aspect-ratio-button-control > button,
  uc-editor-freeform-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);
  }

  uc-editor-freeform-button-control > button {
    grid-template-columns: auto var(--l-base-min-width);
  }

  uc-editor-freeform-button-control > button > uc-icon {
    margin-left: var(--cldtr-gap-mid-1);
    width: 10px;
  }

  :where(
      uc-editor-button-control,
      uc-editor-crop-button-control,
      uc-editor-aspect-ratio-button-control,
      uc-editor-freeform-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-aspect-ratio-button-control.uc-active,
  uc-editor-freeform-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-aspect-ratio-button-control.uc-not_active,
  uc-editor-freeform-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-freeform-button-control.uc-not_active,
  :where(.uc-contrast) uc-editor-aspect-ratio-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-freeform-button-control > button:before,
  uc-editor-aspect-ratio-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-aspect-ratio-button-control > button .uc-title,
  uc-editor-freeform-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-freeform-button-control > button .uc-title {
    padding-left: var(--cldtr-gap-mid-1);
    padding-right: 0;
  }

  uc-editor-button-control > button uc-icon,
  uc-editor-operation-control > button uc-icon,
  uc-editor-crop-button-control > button uc-icon,
  uc-editor-aspect-ratio-button-control > button uc-icon,
  uc-editor-freeform-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: 0;
    left: 0;
    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(0);
    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(0);
    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: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
  }

  uc-editor-image-fader {
    position: absolute;
    top: 0;
    left: 0;
    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: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: scale-down;
    transform: scale(1);
    -webkit-user-select: none;
    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-sub-toolbar > .uc-list-aspect-ratio-container > .uc-list-aspect-ratio {
    display: grid;
    grid-auto-flow: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    height: var(--size-panel-heading);
  }

  uc-editor-toolbar
    > .uc-toolbar-container
    > .uc-sub-toolbar.uc-sub-toolbar--visible {
    transform: translateY(0);
    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: 0;
    left: 0;
    width: var(--size-touch-area);
    height: 2px;
    background-color: var(--uc-secondary-foreground);
    transform: translate(0);
    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: 0;
    left: 0;
    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(0);
    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);
    -webkit-user-select: none;
    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: 0;
  }

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

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

  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: 0;
    left: 0;
    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: translate(-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: 0;
    width: var(--l-thumb-size);
    height: var(--l-thumb-size);
    background-color: var(--l-color);
    border-radius: 50%;
    transform: translate(0);
    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;
  }

  [uc-aspect-ratio-freeform] button {
    display: flex;
  }

  [uc-aspect-ratio-freeform] uc-icon {
    display: none;
  }

  [uc-aspect-ratio-freeform] .uc-title {
    padding-left: var(--cldtr-gap-mid-1);
  }

  :where(
      uc-editor-freeform-button-control,
      uc-editor-aspect-ratio-button-control:last-of-type
    ) {
    margin-right: calc(3 * var(--cldtr-gap-mid-1));
  }
}

@layer uc.solutions {
  :where([uc-cloud-image-editor]) uc-icon {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
  }

  :where([uc-cloud-image-editor]) uc-icon svg {
    width: calc(var(--uc-button-size) / 2);
    height: calc(var(--uc-button-size) / 2);
  }
}

@layer uc.components {
  uc-cloud-image-editor-activity {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: var(--uc-background);
  }

  [uc-modal] > dialog:has(uc-cloud-image-editor-activity[active]) {
    width: 100%;
    height: 100%;
  }
}

@layer uc.components {
  uc-config {
    display: none;
  }
}

@layer uc.components {
  uc-copyright {
    display: flex;
    width: 100%;
    justify-content: center;
  }

  uc-copyright .uc-credits {
    all: unset;
    position: absolute;
    bottom: 12px;
    background-color: var(--uc-background);
    padding: 2px 5px;
    border-radius: 6px;
    color: var(--uc-muted-foreground);
    font-weight: 400;
    font-size: 12px;
    opacity: 0.9;
    cursor: pointer;
    transition: opacity var(--uc-transition),
      background-color var(--uc-transition);
  }

  uc-copyright .uc-credits:focus-visible {
    outline: 1px auto Highlight;
    outline: 1px auto -webkit-focus-ring-color;
  }

  uc-copyright .uc-credits:hover {
    opacity: 1;
    background-color: var(--uc-muted);
  }
}

@layer uc.components {
  :where([uc-drop-area]) {
    padding: 2px;
    overflow: hidden;
    border: 1px dashed var(--uc-border);
    border-radius: calc(var(--uc-radius) * 1.75);
    transition: border var(--uc-transition), border-radius var(--uc-transition);
  }

  :where([uc-drop-area]),
  :where([uc-drop-area]) .uc-content-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }

  :where([uc-drop-area]) .uc-text {
    position: relative;
    margin: var(--uc-padding);
    color: var(--uc-muted-foreground);
    transition: color var(--uc-transition);
  }

  :where([uc-drop-area])[ghost][drag-state='inactive'] {
    display: none;
  }

  :where([uc-drop-area])[ghost]:not([fullscreen]):is(
      [drag-state='active'],
      [drag-state='near'],
      [drag-state='over']
    ) {
    background: var(--uc-background);
  }

  :where([uc-drop-area]):is(
      [drag-state='active'],
      [drag-state='near'],
      [drag-state='over'],
      :hover
    ) {
    background: var(--uc-primary-transparent);
    border-color: var(--uc-primary-transparent);
  }

  :where(.uc-contrast)
    :where([uc-drop-area]):is(
      [drag-state='active'],
      [drag-state='near'],
      [drag-state='over'],
      :hover
    ) {
    color: var(--uc-foreground);
    background: transparent;
    border-color: var(--uc-foreground);
    border-width: 2px;
    border-style: solid;
  }

  :where([uc-drop-area]):is([drag-state='active'], [drag-state='near']) {
    opacity: 1;
  }

  :where([uc-drop-area])[drag-state='over'] {
    border-color: var(--uc-primary);
    opacity: 1;
  }

  :where([uc-drop-area])[with-icon] {
    min-height: 180px;
  }

  :where([uc-drop-area])[with-icon] .uc-content-wrapper {
    display: flex;
    flex-direction: column;
  }

  :where([uc-drop-area])[with-icon] .uc-text {
    color: var(--uc-foreground);
    font-weight: 500;
    font-size: 1.1em;
  }

  :where([uc-drop-area])[with-icon] .uc-icon-container {
    position: relative;
    width: 64px;
    height: 64px;
    margin: var(--uc-padding);
    overflow: hidden;
    color: var(--uc-foreground);
    background-color: var(--uc-muted);
    border-radius: 50%;
    transition: color var(--uc-transition),
      background-color var(--uc-transition);
  }

  :where([uc-drop-area])[with-icon] uc-icon {
    position: absolute;
    width: 32px;
    height: 32px;
    top: calc(50% - 16px);
    left: calc(50% - 16px);
    transition: transform var(--uc-transition);
  }

  :where([uc-drop-area])[with-icon] uc-icon:last-child {
    transform: translateY(48px);
  }

  :where(.uc-contrast)
    :where([uc-drop-area])[with-icon]:hover
    .uc-icon-container,
  :where(.uc-contrast) :where([uc-drop-area])[with-icon]:hover .uc-text {
    color: var(--uc-foreground);
  }

  :where([uc-drop-area])[with-icon]:hover .uc-icon-container {
    background-color: var(--uc-primary-transparent);
  }

  :where(.uc-contrast)
    :where([uc-drop-area])[with-icon]:hover
    .uc-icon-container {
    background-color: var(--uc-muted);
  }

  :where([uc-drop-area])[with-icon]
    > .uc-content-wrapper:is(
      [drag-state='active'],
      [drag-state='near'],
      [drag-state='over']
    )
    .uc-icon-container {
    color: var(--uc-primary-foreground);
    background-color: var(--uc-primary);
  }

  :where([uc-drop-area])[with-icon]
    > .uc-content-wrapper:is(
      [drag-state='active'],
      [drag-state='near'],
      [drag-state='over']
    )
    .uc-text {
    color: var(--uc-foreground);
  }

  :where(.uc-contrast)
    :where([uc-drop-area])[with-icon]
    > .uc-content-wrapper:is(
      [drag-state='active'],
      [drag-state='near'],
      [drag-state='over']
    )
    .uc-text {
    color: var(--uc-foreground);
  }

  :where([uc-drop-area])[with-icon]
    > .uc-content-wrapper:is(
      [drag-state='active'],
      [drag-state='near'],
      [drag-state='over']
    )
    uc-icon:first-child {
    transform: translateY(-48px);
  }

  :where([uc-drop-area])[with-icon]
    > .uc-content-wrapper:is(
      [drag-state='active'],
      [drag-state='near'],
      [drag-state='over']
    )
    uc-icon:last-child {
    transform: translateY(0);
  }

  :where([uc-drop-area])[with-icon]
    > .uc-content-wrapper[drag-state='near']
    uc-icon:last-child {
    transform: scale(1.3);
  }

  :where([uc-drop-area])[with-icon]
    > .uc-content-wrapper[drag-state='over']
    uc-icon:last-child {
    transform: scale(1.5);
  }

  :where([uc-drop-area])[fullscreen] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2147483647;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100vw - var(--uc-padding) * 2);
    height: calc(100vh - var(--uc-padding) * 2);
    margin: var(--uc-padding);
  }

  :where([uc-drop-area])[fullscreen] .uc-content-wrapper {
    width: 100%;
    max-width: calc(var(--uc-dialog-width) * 0.8);
    height: 180px;
    color: var(--uc-foreground);
    background-color: var(--uc-background);
    border-radius: calc(var(--uc-radius) * 1.75);
    box-shadow: var(--uc-dialog-shadow);
    transition: color var(--uc-transition),
      background-color var(--uc-transition), box-shadow var(--uc-transition),
      border-radius var(--uc-transition), transform var(--uc-transition);
  }

  :where([uc-drop-area])[with-icon][fullscreen][drag-state='active']
    > .uc-content-wrapper,
  :where([uc-drop-area])[with-icon][fullscreen][drag-state='near']
    > .uc-content-wrapper {
    transform: translateY(10px);
    opacity: 0;
  }

  :where([uc-drop-area])[with-icon][fullscreen][drag-state='over']
    > .uc-content-wrapper {
    transform: translateY(0);
    opacity: 1;
  }

  :is(:where([uc-drop-area])[with-icon][fullscreen])
    > .uc-content-wrapper
    uc-icon:first-child {
    transform: translateY(-48px);
  }

  :where([uc-drop-area])[clickable] {
    cursor: pointer;
  }
}

@layer uc.components {
  uc-external-source {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background-color: var(--uc-background);
    overflow: hidden;
    position: relative;
  }

  [uc-modal] > dialog:has(uc-external-source[active]) {
    width: 100%;
    height: 100%;
  }

  uc-external-source > .uc-content {
    position: relative;
    display: grid;
    flex: 1;
    grid-template-rows: 1fr min-content;
  }

  uc-external-source iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
  }

  uc-external-source .uc-iframe-wrapper {
    overflow: hidden;
  }

  uc-external-source .uc-toolbar {
    display: flex;
    width: 100%;
    grid-gap: var(--uc-padding);
    align-items: center;
    justify-content: space-between;
    padding: var(--uc-padding);
    border-top: 1px solid var(--uc-border);
  }

  uc-external-source .uc-back-btn {
    padding-left: 0;
  }

  uc-external-source .uc-selection-status-box {
    color: var(--uc-foreground);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  uc-external-source .uc-selection-status-box button {
    color: var(--uc-primary);
    height: auto;
    padding: 0;
    background: none;
  }

  uc-external-source .uc-selection-status-box button:hover {
    text-decoration: underline;
  }

  uc-external-source uc-activity-header {
    position: absolute;
    width: 100%;
    justify-content: flex-end;
    z-index: 1;
    left: 0;
    top: 0;
    right: 0;
    pointer-events: none;
  }

  uc-external-source uc-activity-header .uc-close-btn {
    pointer-events: auto;
  }

  uc-external-source .uc-done-btn > span.uc-hidden {
    visibility: hidden;
    pointer-events: none;
  }

  uc-external-source .uc-done-btn > uc-spinner {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@layer uc.components {
  uc-file-item {
    --uc-file-item-gap: 4px;
    --uc-file-item-height: calc(
      var(--uc-preview-size) + var(--uc-padding) * 2 + var(--uc-file-item-gap)
    );
    display: block;
    overflow: hidden;
    min-height: var(--uc-file-item-height);
  }

  uc-file-item:last-of-type {
    --uc-file-item-gap: 0;
  }

  uc-file-item > .uc-inner {
    position: relative;
    display: grid;
    grid-template-columns: var(--uc-preview-size) 1fr max-content;
    gap: 2px;
    align-items: center;
    margin-bottom: var(--uc-file-item-gap);
    padding: var(--uc-padding);
    overflow: hidden;
    font-size: 0.925em;
    background-color: var(--uc-muted);
    border-radius: var(--uc-radius);
    transition: background-color var(--uc-transition);
  }

  uc-file-item > .uc-inner[focused] {
    background-color: transparent;
  }

  uc-file-item > .uc-inner[uploading] .uc-edit-btn {
    display: none;
  }

  uc-file-item > :where(.uc-inner[failed], .uc-inner[limit-overflow]) {
    background-color: var(--uc-destructive);
  }

  uc-file-item .uc-thumb {
    position: relative;
    display: inline-flex;
    width: var(--uc-preview-size);
    height: var(--uc-preview-size);
    background-color: var(--uc-secondary);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: var(--uc-radius);
  }

  uc-file-item .uc-file-name-wrapper {
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    max-width: 100%;
    padding-right: var(--uc-padding);
    padding-left: var(--uc-padding);
    overflow: hidden;
    color: var(--uc-muted-foreground);
  }

  uc-file-item .uc-file-name {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  uc-file-item .uc-file-error {
    display: none;
    color: var(--uc-destructive-foreground);
    font-size: 0.85em;
    z-index: 2;
  }

  uc-file-item button.uc-remove-btn,
  uc-file-item button.uc-edit-btn {
    color: var(--uc-muted-foreground);
  }

  uc-file-item button svg {
    pointer-events: none;
  }

  uc-file-item button.uc-upload-btn {
    display: none;
  }

  uc-file-item .uc-badge {
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 14px;
    height: 14px;
    color: var(--uc-background);
    background-color: var(--uc-foreground);
    border-radius: 50%;
    transform: scale(0.3);
    opacity: 0;
    transition: opacity var(--uc-transition), transform var(--uc-transition);
    display: flex;
    justify-content: center;
    align-items: center;
  }

  uc-file-item
    > .uc-inner:where([failed], [limit-overflow], [finished])
    .uc-badge {
    transform: scale(1);
    opacity: 1;
  }

  uc-file-item > .uc-inner:where([failed], [limit-overflow]) .uc-badge {
    background-color: var(--uc-destructive-foreground);
  }

  uc-file-item > .uc-inner:where([failed], [limit-overflow]) .uc-file-error {
    display: block;
  }

  uc-file-item .uc-badge uc-icon,
  uc-file-item .uc-badge uc-icon svg {
    width: 100%;
    height: 100%;
  }

  uc-file-item .uc-progress-bar {
    opacity: 0.7;
    top: calc(100% - 2px);
    height: 2px;
  }

  :where(.uc-contrast) uc-file-item .uc-progress-bar {
    opacity: 1;
  }

  uc-file-item .uc-file-actions {
    display: flex;
    gap: 2px;
    align-items: center;
    justify-content: center;
  }

  uc-file-item[mode='grid'] {
    overflow: visible;
    min-height: initial;
  }

  uc-file-item[mode='grid'] .uc-inner {
    height: 100%;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr max-content;
    padding: 0;
    background-color: transparent;
    margin-bottom: 0;
    border-radius: 0;
  }

  uc-file-item[mode='grid'] .uc-inner[failed] .uc-badge {
    display: none;
  }

  uc-file-item[mode='grid'] .uc-thumb {
    width: 100%;
    height: 100%;
  }

  uc-file-item[mode='grid'] .uc-badge {
    right: var(--uc-padding);
    bottom: var(--uc-padding);
  }

  uc-file-item[mode='grid'] .uc-file-name-wrapper {
    padding: 0;
  }

  uc-file-item[mode='grid'] .uc-file-name:not([hidden]) + .uc-file-error {
    bottom: calc(var(--uc-padding) + var(--uc-font-size));
  }

  uc-file-item[mode='grid'] .uc-file-error {
    position: absolute;
    background-color: var(--uc-destructive-foreground);
    border-radius: var(--uc-radius);
    color: var(--uc-background);
    bottom: var(--uc-padding);
    left: var(--uc-padding);
    right: var(--uc-padding);
    padding: calc(var(--uc-padding) / 2) var(--uc-padding);
  }

  uc-file-item[mode='grid'] .uc-file-hint {
    position: absolute;
    background-color: var(--uc-background);
    border-radius: var(--uc-radius);
    color: var(--uc-foreground);
    bottom: calc(var(--uc-padding) * 2);
    left: var(--uc-padding);
    right: var(--uc-padding);
    padding: calc(var(--uc-padding) / 2) var(--uc-padding);
  }

  uc-file-item[mode='grid'] .uc-file-actions {
    position: absolute;
    top: var(--uc-padding);
    right: var(--uc-padding);
  }

  uc-file-item[mode='grid'] button {
    background-color: var(--uc-background);
  }

  uc-file-item[mode='grid'] button:hover {
    background-color: var(--uc-muted);
  }

  uc-file-item[mode='grid'] .uc-progress-bar {
    width: initial;
    height: 4px !important;
    top: initial !important;
    bottom: var(--uc-padding);
    left: var(--uc-padding);
    right: var(--uc-padding);
    border-radius: var(--uc-radius);
    z-index: 1;
    transition: background-color 0.3s, opacity 0.3s;
    background-color: var(--uc-background);
  }

  uc-file-item[mode='grid']
    .uc-progress-bar
    :is(.uc-fake-progress, .uc-progress) {
    background-color: var(--uc-primary);
  }

  uc-file-item[mode='grid'] .uc-progress-bar[hasfilename] {
    bottom: calc(var(--uc-padding) + var(--uc-font-size));
  }
}

@layer uc.components {
  uc-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--uc-button-size);
    height: var(--uc-button-size);
  }

  uc-icon svg {
    width: calc(var(--uc-button-size) / 2);
    height: calc(var(--uc-button-size) / 2);
    overflow: visible;
  }
}

@layer uc.components {
  @supports selector(dialog::backdrop) {
    :where([uc-modal]) > dialog::backdrop {
      background-color: #0000001a;
    }

    :where([uc-modal])[strokes] > dialog::backdrop {
      background-image: var(--modal-backdrop-background-image);
    }
  }

  :where([uc-modal]) > dialog[open] {
    transform: translateY(0);
    visibility: visible;
    opacity: 1;
  }

  :where([uc-modal]) > dialog:not([open]) {
    transform: translateY(20px);
    visibility: hidden;
    opacity: 0;
  }

  :where([uc-modal]) > dialog {
    display: flex;
    flex-direction: column;
    width: min(var(--uc-dialog-width), 100%);
    max-width: min(
      calc(100% - var(--uc-padding) * 2),
      var(--uc-dialog-max-width)
    );
    min-height: var(--uc-button-size);
    max-height: min(
      calc(100% - var(--uc-padding) * 2),
      var(--uc-dialog-max-height)
    );
    margin: auto;
    padding: 0;
    overflow: hidden;
    background-color: var(--uc-background);
    border: 0;
    border-radius: calc(var(--uc-radius) * 1.75);
    box-shadow: var(--uc-dialog-shadow);
    transition: transform 0.4s ease, opacity 0.4s ease;
  }

  :where(.uc-contrast) :where([uc-modal]) > dialog {
    outline: 1px solid var(--uc-border);
  }
}

@layer uc.components {
  uc-progress-bar {
    --l-progress-value: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    transition: opacity 0.3s;
    opacity: 1;
  }

  uc-progress-bar.uc-progress-bar--hidden {
    opacity: 0;
  }

  uc-progress-bar .uc-progress {
    position: absolute;
    width: calc(var(--l-progress-value) * 1%);
    height: 100%;
    background-color: var(--uc-primary);
    transform: translate(0);
    opacity: 1;
    transition: width 0.6s, opacity 0.3s;
  }

  uc-progress-bar .uc-progress--hidden {
    opacity: 0;
  }

  uc-progress-bar .uc-fake-progress {
    --l-fake-progress-width: 30;
    position: absolute;
    width: calc(var(--l-fake-progress-width) * 1%);
    height: 100%;
    background-color: var(--uc-primary);
    animation: fake-progress-animation 1s ease-in-out infinite;
    opacity: 1;
    transition: opacity 0.3s;
    z-index: 1;
  }

  uc-progress-bar .uc-fake-progress--hidden {
    opacity: 0;
    animation: none;
  }

  @keyframes fake-progress-animation {
    0% {
      transform: translate(-100%);
    }

    to {
      transform: translate(calc(100 / var(--l-fake-progress-width) * 100 * 1%));
    }
  }
}

@layer uc.components {
  uc-progress-bar-common {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10000;
    display: block;
    height: 10px;
    background-color: var(--uc-background);
    transition: opacity 0.3s;
  }

  uc-progress-bar-common:not([active]) {
    opacity: 0;
    pointer-events: none;
  }
}

@layer uc.components {
  uc-select {
    display: inline-flex;
  }

  uc-select select {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--uc-button-size);
    padding: 0 14px;
    font-size: 1em;
    font-family: inherit;
    white-space: nowrap;
    border: none;
    border-radius: var(--uc-radius);
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    transition: background-color var(--uc-transition);
    color: var(--uc-secondary-foreground);
    background-color: var(--uc-secondary);
  }
}

@layer uc.components {
  :where([uc-simple-btn]) {
    position: relative;
    display: inline-flex;
  }

  :where([uc-simple-btn]) button {
    height: auto;
    gap: 0.5em;
    padding: var(--uc-simple-btn-padding);
    background-color: var(--uc-simple-btn);
    color: var(--uc-simple-btn-foreground);
    font-size: var(--uc-simple-btn-font-size);
    font-family: var(--uc-simple-btn-font-family);
  }

  :where([uc-simple-btn]) button uc-icon {
    width: auto;
    height: auto;
  }

  :where([uc-simple-btn]) button uc-icon svg {
    width: 0.9em;
    height: 0.9em;
  }

  :where([uc-simple-btn]) button:hover {
    background-color: var(--uc-simple-btn-hover);
  }

  :where([uc-simple-btn]) > uc-drop-area {
    display: contents;
  }

  :where([uc-simple-btn]) .uc-visual-drop-area {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: var(--uc-simple-btn-padding);
    background-color: transparent;
    color: transparent;
    font-size: var(--uc-simple-btn-font-size);
    border: 1px dashed var(--uc-simple-btn-foreground);
    border-radius: inherit;
    opacity: 0;
    transition: opacity var(--uc-transition);
  }

  :where([uc-simple-btn])
    > uc-drop-area[drag-state='active']
    .uc-visual-drop-area {
    opacity: 1;
  }

  :where([uc-simple-btn])
    > uc-drop-area[drag-state='inactive']
    .uc-visual-drop-area {
    opacity: 0;
  }

  :where([uc-simple-btn])
    > uc-drop-area[drag-state='near']
    .uc-visual-drop-area {
    opacity: 1;
  }

  :where([uc-simple-btn])
    > uc-drop-area[drag-state='over']
    .uc-visual-drop-area {
    opacity: 1;
  }
}

@layer uc.components {
  uc-source-btn > button {
    display: flex;
    align-items: center;
    margin-bottom: 2px;
    padding: 2px var(--uc-padding);
    color: var(--uc-foreground);
    border-radius: var(--uc-radius);
    cursor: pointer;
    transition: background-color var(--uc-transition),
      color var(--uc-transition);
    -webkit-user-select: none;
    user-select: none;
    width: 100%;
    background-color: unset;
    height: unset;
  }

  uc-source-btn:last-child > button {
    margin-bottom: 0;
  }

  uc-source-btn > button:hover {
    background-color: var(--uc-primary-transparent);
  }

  :where(.uc-contrast) uc-source-btn > button:hover {
    background-color: var(--uc-secondary);
    color: var(--uc-foreground);
  }

  uc-source-btn uc-icon {
    display: inline-flex;
    flex-grow: 1;
    justify-content: center;
    min-width: var(--uc-button-size);
    margin-right: var(--uc-padding);
    opacity: 0.8;
  }

  :where(.uc-contrast) uc-source-btn uc-icon {
    opacity: 1;
  }

  uc-source-btn .uc-txt {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: var(--uc-button-size);
    padding: 0;
    white-space: nowrap;
    border: none;
  }
}

@layer uc.components {
  @keyframes uc-spinner-keyframes {
    0% {
      transform: rotate(0);
    }

    to {
      transform: rotate(360deg);
    }
  }

  .uc-spinner {
    width: 1em;
    height: 1em;
    border: solid 2px transparent;
    border-top-color: currentColor;
    border-left-color: currentColor;
    border-radius: 50%;
    animation: uc-spinner-keyframes 0.4s linear infinite;
  }
}

@layer uc.components {
  uc-start-from {
    display: block;
    overflow-y: auto;
  }

  uc-start-from .uc-content {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--uc-padding) * 2);
    width: 100%;
    height: 100%;
    padding: calc(var(--uc-padding) * 2);
    background-color: var(--uc-background);
  }

  [uc-modal] > dialog:has(uc-start-from[active]) {
    width: var(--uc-dialog-width);
  }

  [uc-modal] uc-start-from uc-drop-area {
    border-radius: var(--uc-radius);
  }

  @media only screen and (max-width: 430px) {
    [uc-modal] uc-start-from uc-drop-area {
      display: none;
    }
  }
}

@layer uc.components {
  uc-thumb {
    width: 100%;
    height: 100%;
  }
}

@layer uc.components {
  uc-upload-list {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: max-content;
    overflow: hidden;
    background-color: var(--uc-background);
    transition: opacity var(--uc-transition);
  }

  uc-upload-list .uc-no-files {
    height: 32px;
    padding: 20px;
  }

  uc-upload-list .uc-files {
    display: block;
    flex: 1;
    min-height: 32px;
    padding: 0 var(--uc-padding);
    overflow: auto;
  }

  uc-upload-list .uc-files-wrapper {
    display: contents;
  }

  uc-upload-list .uc-toolbar {
    display: flex;
    gap: 4px;
    justify-content: space-between;
    padding: var(--uc-padding);
    background-color: var(--uc-background);
  }

  uc-upload-list .uc-toolbar-spacer {
    flex: 1;
  }

  uc-upload-list uc-drop-area {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - var(--uc-padding) * 2);
    height: calc(100% - var(--uc-padding) * 2);
    margin: var(--uc-padding);
    border-radius: var(--uc-radius);
  }

  uc-upload-list uc-activity-header > .uc-header-text {
    padding: 0 var(--uc-padding);
  }

  uc-upload-list .uc-common-error {
    border-radius: var(--uc-radius);
    color: var(--uc-destructive-foreground);
    background-color: var(--uc-destructive);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--uc-padding);
    margin: 4px var(--uc-padding) 0 var(--uc-padding);
    font-size: 0.925em;
  }

  uc-upload-list .uc-add-more-btn uc-icon {
    display: none;
  }

  uc-upload-list[mode='grid'] .uc-files {
    display: flex;
    flex-wrap: wrap;
    gap: var(--uc-grid-gap);
  }

  uc-upload-list .uc-files .uc-add-more-btn,
  uc-upload-list[mode='grid'] uc-file-item {
    flex: 0 0
      calc(
        (100% - (var(--uc-grid-gap) * (var(--uc-grid-col) - 1))) /
          var(--uc-grid-col)
      );
    max-width: calc(
      (100% - (var(--uc-grid-gap) * (var(--uc-grid-col) - 1))) /
        var(--uc-grid-col)
    );
    height: var(--uc-grid-preview-image-height);
    aspect-ratio: var(--uc-grid-aspect-ratio);
  }

  uc-upload-list .uc-files .uc-add-more-btn {
    display: none;
  }
}

@layer uc.components {
  uc-url-source {
    display: block;
    background-color: var(--uc-background);
  }

  uc-url-source > .uc-content {
    display: grid;
    grid-gap: 4px;
    grid-template-columns: 1fr min-content;
    padding: var(--uc-padding);
    padding-top: 0;
  }

  uc-url-source .uc-url-input {
    display: flex;
  }
}

@layer uc.solutions {
  [uc-file-uploader-inline] uc-start-from {
    height: 100%;
    container-type: inline-size;
  }

  [uc-file-uploader-inline] {
    --cfg-done-activity: 'start-from';
    --cfg-init-activity: 'start-from';
    flex: 1;
  }

  [uc-file-uploader-inline] uc-activity-header:after {
    width: var(--uc-button-size);
    height: var(--uc-button-size);
    content: '';
  }

  [uc-file-uploader-inline] uc-activity-header .uc-close-btn {
    display: none;
  }

  [uc-file-uploader-inline] uc-copyright .uc-credits {
    position: static;
  }

  @container (min-width: 500px) {
    [uc-file-uploader-inline] uc-start-from .uc-content {
      grid-template-columns: 1fr max-content;
      height: 100%;
    }

    [uc-file-uploader-inline] uc-start-from uc-copyright {
      grid-column: 2;
    }

    [uc-file-uploader-inline] uc-start-from uc-drop-area {
      grid-row: span 3;
    }

    [uc-file-uploader-inline]
      uc-start-from:has(uc-copyright[hidden])
      uc-drop-area {
      grid-row: span 2;
    }

    [uc-file-uploader-inline]
      uc-start-from:has(.uc-cancel-btn[hidden])
      uc-drop-area {
      grid-row: span 2;
    }

    [uc-file-uploader-inline]
      uc-start-from:has(uc-copyright[hidden]):has(.uc-cancel-btn[hidden])
      uc-drop-area {
      grid-row: span 1;
    }
  }
}

@layer uc.solutions {
  :where([uc-file-uploader-minimal]) {
    --cfg-init-activity: 'start-from';
    --cfg-done-activity: 'upload-list';
    position: relative;
    display: block;
  }

  [uc-file-uploader-minimal] > uc-start-from .uc-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0;
    overflow: hidden;
    align-items: center;
    background-color: transparent;
  }

  :where([uc-file-uploader-minimal] > uc-start-from uc-drop-area) {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: calc(var(--uc-preview-size) + var(--uc-padding) * 2 + 8px);
    padding: 0;
    text-align: center;
    background-color: var(--uc-muted);
    border-radius: calc(var(--uc-radius) * 1.75);
  }

  :where(.uc-contrast)
    :where([uc-file-uploader-minimal] > uc-start-from uc-drop-area) {
    background-color: transparent;
  }

  :where([uc-file-uploader-minimal] > uc-start-from uc-drop-area):before {
    content: '';
    z-index: -1;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: var(--uc-background);
  }

  :where(
      [uc-file-uploader-minimal]:has([single]) > uc-start-from uc-drop-area
    ) {
    aspect-ratio: var(--uc-grid-aspect-ratio);
  }

  [uc-file-uploader-minimal] uc-upload-list uc-activity-header {
    display: none;
  }

  [uc-file-uploader-minimal] uc-upload-list > .uc-toolbar {
    background-color: transparent;
  }

  [uc-file-uploader-minimal] uc-upload-list {
    width: 100%;
    height: unset;
    padding: 4px;
    background-color: var(--uc-background);
    border: 1px dashed var(--uc-border);
    border-radius: calc(var(--uc-radius) * 1.75);
  }

  [uc-file-uploader-minimal] uc-upload-list .uc-files {
    padding: 0;
  }

  [uc-file-uploader-minimal] uc-upload-list .uc-toolbar {
    display: block;
    padding: 0;
  }

  [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-cancel-btn,
  [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-upload-btn,
  [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-done-btn {
    display: none;
  }

  [uc-file-uploader-minimal] uc-upload-list .uc-toolbar .uc-add-more-btn {
    width: 100%;
    height: calc(var(--uc-preview-size) + var(--uc-padding) * 2);
    margin-top: 4px;
  }

  [uc-file-uploader-minimal]
    uc-upload-list
    .uc-toolbar
    .uc-add-more-btn[disabled] {
    display: none;
  }

  [uc-file-uploader-minimal]
    uc-upload-list
    .uc-toolbar
    .uc-add-more-btn
    > span {
    display: none;
  }

  [uc-file-uploader-minimal]
    uc-upload-list
    .uc-toolbar
    .uc-add-more-btn
    > uc-icon {
    display: flex;
  }

  [uc-file-uploader-minimal] uc-file-item uc-progress-bar {
    top: 0 !important;
    height: 100% !important;
  }

  [uc-file-uploader-minimal] uc-file-item uc-progress-bar .uc-progress {
    background-color: var(--uc-primary-transparent);
    border-radius: var(--uc-radius);
  }

  [uc-file-uploader-minimal] uc-file-item uc-progress-bar .uc-fake-progress {
    background-color: var(--uc-primary-transparent);
    border-radius: var(--uc-radius);
  }

  [uc-file-uploader-minimal] uc-upload-list uc-drop-area {
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: calc(var(--uc-radius) * 1.75);
  }

  [uc-file-uploader-minimal] uc-upload-list .uc-common-error {
    margin: 4px 0 0;
  }

  [uc-file-uploader-minimal] uc-copyright .uc-credits {
    position: static;
  }

  [uc-file-uploader-minimal][mode='grid']
    uc-upload-list
    .uc-toolbar
    .uc-add-more-btn {
    display: none;
  }

  [uc-file-uploader-minimal][mode='grid']
    uc-upload-list
    .uc-files
    .uc-add-more-btn {
    display: flex;
  }

  [uc-file-uploader-minimal][mode='grid']
    uc-upload-list
    .uc-files
    .uc-add-more-btn
    > span {
    display: none;
  }

  [uc-file-uploader-minimal][mode='grid']
    uc-upload-list
    .uc-files
    .uc-add-more-btn
    > uc-icon {
    display: flex;
  }
}

@layer uc,
uc.base,
uc.components,
uc.rules,
uc.solutions,
uc.post-reset;

@layer uc.base {
  :where([uc-wgt-common]) {
    --cfg-init-activity: 'start-from';
    --cfg-done-activity: '';
  }
}

@layer uc.base {
  :where([uc-wgt-common]) {
    --uc-font-family: system-ui;
    --uc-font-size: 14px;
    --uc-line-height: normal;
    --uc-simple-btn-font-family: system-ui;
    --uc-simple-btn-font-size: 14px;
    --uc-button-size: 32px;
    --uc-preview-size: 32px;
    --uc-padding: 10px;
    --uc-radius: 8px;
    --uc-transition: 0.2s ease;
    --uc-dialog-width: 430px;
    --uc-dialog-max-width: 920px;
    --uc-dialog-max-height: 675px;
    --uc-simple-btn-padding: 7px 14px;
    --uc-grid-col: 3;
    --uc-grid-preview-image-height: auto;
    --uc-grid-gap: calc(var(--uc-padding) / 2);
    --uc-grid-aspect-ratio: 1 / 1;
    --uc-background: var(--uc-background-light);
    --uc-foreground: var(--uc-foreground-light);
    --uc-primary: var(--uc-primary-light);
    --uc-primary-hover: var(--uc-primary-hover-light);
    --uc-primary-transparent: var(--uc-primary-transparent-light);
    --uc-primary-foreground: var(--uc-primary-foreground-light);
    --uc-secondary: var(--uc-secondary-light);
    --uc-secondary-hover: var(--uc-secondary-hover-light);
    --uc-secondary-foreground: var(--uc-secondary-foreground-light);
    --uc-muted: var(--uc-muted-light);
    --uc-muted-foreground: var(--uc-muted-foreground-light);
    --uc-destructive: var(--uc-destructive-light);
    --uc-destructive-foreground: var(--uc-destructive-foreground-light);
    --uc-border: var(--uc-border-light);
    --uc-dialog-shadow: var(--uc-dialog-shadow-light);
    --uc-simple-btn: var(--uc-simple-btn-light);
    --uc-simple-btn-hover: var(--uc-simple-btn-hover-light);
    --uc-simple-btn-foreground: var(--uc-simple-btn-foreground-light);
  }

  @supports not (color: oklch(0% 0 0)) {
    :where([uc-wgt-common]) {
      --uc-primary-rgb-light: 23 75 215;
      --uc-primary-light: rgb(var(--uc-primary-rgb-light));
      --uc-primary-hover-light: rgb(var(--uc-primary-rgb-light) / 90%);
      --uc-primary-transparent-light: rgb(var(--uc-primary-rgb-light) / 10%);
      --uc-background-light: rgb(255 255 255);
      --uc-foreground-light: rgb(24 24 24);
      --uc-primary-foreground-light: #fff;
      --uc-secondary-light: rgb(24 24 24 / 5%);
      --uc-secondary-hover-light: rgb(24 24 24 / 8%);
      --uc-secondary-foreground-light: rgb(24 24 24);
      --uc-muted-light: rgb(245 245 245);
      --uc-muted-foreground-light: rgb(113 113 113);
      --uc-destructive-light: rgb(232 19 20 / 5%);
      --uc-destructive-foreground-light: rgb(232 19 20);
      --uc-border-light: rgb(228 228 232);
      --uc-dialog-shadow-light: 0px 6px 20px rgb(0 0 0 / 10%);
      --uc-simple-btn-light: rgb(235 235 235);
      --uc-simple-btn-hover-light: rgb(228 228 228);
      --uc-simple-btn-foreground-light: rgb(24 24 24);
      --uc-primary-rgb-dark: 87 154 255;
      --uc-primary-dark: rgb(var(--uc-primary-rgb-dark));
      --uc-primary-hover-dark: rgb(var(--uc-primary-rgb-dark) / 90%);
      --uc-primary-transparent-dark: rgb(var(--uc-primary-rgb-dark) / 7%);
      --uc-background-dark: rgb(27 27 27);
      --uc-foreground-dark: rgb(225 225 225);
      --uc-primary-foreground-dark: rgb(0 0 0);
      --uc-secondary-dark: rgb(225 225 225 / 7%);
      --uc-secondary-hover-dark: rgb(225 225 225 / 10%);
      --uc-secondary-foreground-dark: rgb(225 225 225);
      --uc-muted-dark: rgb(36 36 36);
      --uc-muted-foreground-dark: rgb(152 152 152);
      --uc-destructive-dark: rgb(244 90 79 / 10%);
      --uc-destructive-foreground-dark: rgb(244 90 79);
      --uc-border-dark: rgb(61 61 61);
      --uc-dialog-shadow-dark: 0px 6px 20px rgb(0 0 0 / 25%);
      --uc-simple-btn-dark: rgb(36 36 36);
      --uc-simple-btn-hover-dark: rgb(43 43 43);
      --uc-simple-btn-foreground-dark: rgb(255 255 255);
    }
  }

  @supports (color: oklch(0% 0 0)) {
    :where([uc-wgt-common]) {
      --uc-primary-oklch-light: 47% 0.22 264;
      --uc-primary-light: oklch(var(--uc-primary-oklch-light));
      --uc-primary-hover-light: oklch(var(--uc-primary-oklch-light) / 90%);
      --uc-primary-transparent-light: oklch(var(--uc-primary-oklch-light) / 7%);
      --uc-background-light: oklch(100% 0 0);
      --uc-foreground-light: oklch(21% 0 0);
      --uc-primary-foreground-light: oklch(100% 0 0);
      --uc-secondary-light: oklch(21% 0 0 / 0.05);
      --uc-secondary-hover-light: oklch(21% 0 0 / 0.08);
      --uc-secondary-foreground-light: oklch(21% 0 0);
      --uc-muted-light: oklch(97% 0 0);
      --uc-muted-foreground-light: oklch(40% 0 0);
      --uc-destructive-light: oklch(59% 0.235 28.5 / 0.05);
      --uc-destructive-foreground-light: oklch(59% 0.235 28.5);
      --uc-border-light: oklch(92% 0 0);
      --uc-dialog-shadow-light: 0px 6px 20px oklch(0% 0 0 / 0.1);
      --uc-simple-btn-light: oklch(94% 0 0);
      --uc-simple-btn-hover-light: oklch(92% 0 0);
      --uc-simple-btn-foreground-light: oklch(20% 0 0);
      --uc-primary-oklch-dark: 69% 0.1768 258.4;
      --uc-primary-dark: oklch(var(--uc-primary-oklch-dark));
      --uc-primary-hover-dark: oklch(var(--uc-primary-oklch-dark) / 90%);
      --uc-primary-transparent-dark: oklch(var(--uc-primary-oklch-dark) / 7%);
      --uc-background-dark: oklch(22% 0 0);
      --uc-foreground-dark: oklch(91% 0 0);
      --uc-primary-foreground-dark: oklch(0% 0 0);
      --uc-secondary-dark: oklch(91% 0 0 / 0.07);
      --uc-secondary-hover-dark: oklch(91% 0 0 / 0.1);
      --uc-secondary-foreground-dark: oklch(91% 0 0);
      --uc-muted-dark: oklch(26% 0 0);
      --uc-muted-foreground-dark: oklch(68% 0 0);
      --uc-destructive-dark: oklch(67% 0.191 27.5 / 0.1);
      --uc-destructive-foreground-dark: oklch(67% 0.191 27.5);
      --uc-border-dark: oklch(36% 0 0);
      --uc-dialog-shadow-dark: 0px 6px 20px oklch(0% 0 0 / 0.25);
      --uc-simple-btn-dark: oklch(26% 0 0);
      --uc-simple-btn-hover-dark: oklch(29% 0 0);
      --uc-simple-btn-foreground-dark: oklch(100% 0 0);
    }
  }

  @media only screen and (max-height: 600px) {
    :where([uc-wgt-common]) {
      --uc-dialog-max-height: 100%;
    }
  }

  @media only screen and (max-width: 680px) {
    :where([uc-wgt-common]) {
      --uc-grid-col: 2;
    }
  }

  @media only screen and (max-width: 430px) {
    :where([uc-wgt-common]) {
      --uc-dialog-max-width: 100vw;
      --uc-dialog-max-height: var(--uploadcare-blocks-window-height);
      --uc-grid-col: 1;
    }
  }

  @media (prefers-color-scheme: light) {
    :where([uc-wgt-common]) {
      --uc-background: var(--uc-background-light);
      --uc-foreground: var(--uc-foreground-light);
      --uc-primary: var(--uc-primary-light);
      --uc-primary-hover: var(--uc-primary-hover-light);
      --uc-primary-transparent: var(--uc-primary-transparent-light);
      --uc-primary-foreground: var(--uc-primary-foreground-light);
      --uc-secondary: var(--uc-secondary-light);
      --uc-secondary-hover: var(--uc-secondary-hover-light);
      --uc-secondary-foreground: var(--uc-secondary-foreground-light);
      --uc-muted: var(--uc-muted-light);
      --uc-muted-foreground: var(--uc-muted-foreground-light);
      --uc-destructive: var(--uc-destructive-light);
      --uc-destructive-foreground: var(--uc-destructive-foreground-light);
      --uc-border: var(--uc-border-light);
      --uc-dialog-shadow: var(--uc-dialog-shadow-light);
      --uc-simple-btn: var(--uc-simple-btn-light);
      --uc-simple-btn-hover: var(--uc-simple-btn-hover-light);
      --uc-simple-btn-foreground: var(--uc-simple-btn-foreground-light);
    }
  }

  @media (prefers-color-scheme: dark) {
    :where([uc-wgt-common]) {
      --uc-background: var(--uc-background-dark);
      --uc-foreground: var(--uc-foreground-dark);
      --uc-primary: var(--uc-primary-dark);
      --uc-primary-hover: var(--uc-primary-hover-dark);
      --uc-primary-transparent: var(--uc-primary-transparent-dark);
      --uc-primary-foreground: var(--uc-primary-foreground-dark);
      --uc-secondary: var(--uc-secondary-dark);
      --uc-secondary-hover: var(--uc-secondary-hover-dark);
      --uc-secondary-foreground: var(--uc-secondary-foreground-dark);
      --uc-muted: var(--uc-muted-dark);
      --uc-muted-foreground: var(--uc-muted-foreground-dark);
      --uc-destructive: var(--uc-destructive-dark);
      --uc-destructive-foreground: var(--uc-destructive-foreground-dark);
      --uc-border: var(--uc-border-dark);
      --uc-dialog-shadow: var(--uc-dialog-shadow-dark);
      --uc-simple-btn: var(--uc-simple-btn-dark);
      --uc-simple-btn-hover: var(--uc-simple-btn-hover-dark);
      --uc-simple-btn-foreground: var(--uc-simple-btn-foreground-dark);
    }
  }

  :where(.uc-light) {
    --uc-background: var(--uc-background-light);
    --uc-foreground: var(--uc-foreground-light);
    --uc-primary: var(--uc-primary-light);
    --uc-primary-hover: var(--uc-primary-hover-light);
    --uc-primary-transparent: var(--uc-primary-transparent-light);
    --uc-primary-foreground: var(--uc-primary-foreground-light);
    --uc-secondary: var(--uc-secondary-light);
    --uc-secondary-hover: var(--uc-secondary-hover-light);
    --uc-secondary-foreground: var(--uc-secondary-foreground-light);
    --uc-muted: var(--uc-muted-light);
    --uc-muted-foreground: var(--uc-muted-foreground-light);
    --uc-destructive: var(--uc-destructive-light);
    --uc-destructive-foreground: var(--uc-destructive-foreground-light);
    --uc-border: var(--uc-border-light);
    --uc-dialog-shadow: var(--uc-dialog-shadow-light);
    --uc-simple-btn: var(--uc-simple-btn-light);
    --uc-simple-btn-hover: var(--uc-simple-btn-hover-light);
    --uc-simple-btn-foreground: var(--uc-simple-btn-foreground-light);
  }

  :where(.uc-dark) {
    --uc-background: var(--uc-background-dark);
    --uc-foreground: var(--uc-foreground-dark);
    --uc-primary: var(--uc-primary-dark);
    --uc-primary-hover: var(--uc-primary-hover-dark);
    --uc-primary-transparent: var(--uc-primary-transparent-dark);
    --uc-primary-foreground: var(--uc-primary-foreground-dark);
    --uc-secondary: var(--uc-secondary-dark);
    --uc-secondary-hover: var(--uc-secondary-hover-dark);
    --uc-secondary-foreground: var(--uc-secondary-foreground-dark);
    --uc-muted: var(--uc-muted-dark);
    --uc-muted-foreground: var(--uc-muted-foreground-dark);
    --uc-destructive: var(--uc-destructive-dark);
    --uc-destructive-foreground: var(--uc-destructive-foreground-dark);
    --uc-border: var(--uc-border-dark);
    --uc-dialog-shadow: var(--uc-dialog-shadow-dark);
    --uc-simple-btn: var(--uc-simple-btn-dark);
    --uc-simple-btn-hover: var(--uc-simple-btn-hover-dark);
    --uc-simple-btn-foreground: var(--uc-simple-btn-foreground-dark);
  }

  :where(.uc-purple) {
    --uc-primary-oklch-light: 47% 0.22 300;
    --uc-primary-oklch-dark: 69% 0.1768 300;
  }

  :where(.uc-red) {
    --uc-primary-oklch-light: 47% 0.21 21;
    --uc-primary-oklch-dark: 71% 0.1768 21;
  }

  :where(.uc-orange) {
    --uc-primary-oklch-light: 47% 0.1376 51.88;
    --uc-primary-oklch-dark: 69% 0.1768 51.88;
  }

  :where(.uc-green) {
    --uc-primary-oklch-light: 45% 0.14 130;
    --uc-primary-oklch-dark: 69% 0.1768 130;
  }

  :where(.uc-turquoise) {
    --uc-primary-oklch-light: 45% 0.0854 174;
    --uc-primary-oklch-dark: 69% 0.1768 174;
  }

  :where(.uc-gray) {
    --uc-primary-oklch-light: 10% 0 0;
    --uc-primary-oklch-dark: 97% 0 0;
  }

  :where(.uc-contrast) {
    --uc-border-light: oklch(50% 0 0);
    --uc-border-dark: oklch(50% 0 0);
    --uc-muted-light: oklch(98% 0 0);
    --uc-muted-dark: oklch(16% 0 0);
    --uc-muted-foreground-light: oklch(20% 0 0);
    --uc-muted-foreground-dark: oklch(80% 0 0);
    --uc-background-light: oklch(100% 0 0);
    --uc-foreground-light: oklch(0% 0 0);
    --uc-background-dark: oklch(10% 0 0);
    --uc-foreground-dark: oklch(100% 0 0);
  }
}

@layer uc.base {
  :where([uc-wgt-common]) {
    color: var(--uc-foreground);
    font-size: var(--uc-font-size);
    line-height: var(--uc-line-height);
    font-family: var(--uc-font-family);
  }

  :where([uc-wgt-common]) * {
    box-sizing: border-box;
  }

  :where([uc-wgt-common]) button {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--uc-button-size);
    padding-right: 14px;
    padding-left: 14px;
    font-size: 1em;
    font-family: inherit;
    white-space: nowrap;
    border: none;
    border-radius: var(--uc-radius);
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    transition: background-color var(--uc-transition);
  }

  :where([uc-wgt-common]) button:focus-visible {
    outline-offset: 2px;
  }

  :where([uc-wgt-common]) button.uc-primary-btn {
    color: var(--uc-primary-foreground);
    background-color: var(--uc-primary);
  }

  :where([uc-wgt-common]) button.uc-primary-btn:hover {
    background-color: var(--uc-primary-hover);
  }

  :where([uc-wgt-common]) button.uc-secondary-btn {
    color: var(--uc-secondary-foreground);
    background-color: var(--uc-secondary);
  }

  :where([uc-wgt-common]) button.uc-secondary-btn:hover {
    background-color: var(--uc-secondary-hover);
  }

  :where([uc-wgt-common].uc-contrast) button.uc-secondary-btn {
    border: 1px solid var(--uc-border);
  }

  :where([uc-wgt-common]) button.uc-mini-btn {
    height: var(--uc-button-size);
    padding: 0;
    background-color: transparent;
    color: var(--uc-secondary-foreground);
  }

  :where([uc-wgt-common]) button.uc-mini-btn:hover {
    background-color: var(--uc-secondary);
  }

  :where([uc-wgt-common])
    :is(
      button[disabled],
      button.uc-primary-btn[disabled],
      button.uc-secondary-btn[disabled]
    ) {
    opacity: 0.5;
    pointer-events: none;
  }

  :where([uc-wgt-common]) a {
    color: var(--uc-primary);
    text-decoration: none;
  }

  :where([uc-wgt-common]) a[disabled] {
    pointer-events: none;
  }

  :where([uc-wgt-common]) input[type='text'] {
    display: flex;
    width: 100%;
    height: var(--uc-button-size);
    padding-right: 10px;
    padding-left: 10px;
    color: var(--uc-foreground);
    font-size: 1em;
    font-family: inherit;
    background-color: var(--uc-background);
    border: 1px solid var(--uc-border);
    outline: 1px solid transparent;
    border-radius: var(--uc-radius);
    transition: border-color var(--uc-transition),
      outline-color var(--uc-transition);
  }

  :where([uc-wgt-common]) input[type='text']::placeholder {
    color: var(--uc-muted-foreground);
  }

  :where([uc-wgt-common]) input[type='text']:focus {
    outline-color: var(--uc-primary-hover);
    border-color: var(--uc-primary-hover);
  }

  :where([uc-wgt-common]) input[disabled] {
    opacity: 0.6;
    pointer-events: none;
  }

  :where([uc-wgt-common]) uc-select[disabled],
  :where([uc-wgt-common]) select[disabled] {
    opacity: 0.6;
    pointer-events: none;
  }
}

@layer uc.rules {
  :where([uc-wgt-common]) [hidden] {
    display: none;
  }

  :where([uc-wgt-common]) [activity]:not([active], .active) {
    display: none;
  }

  :where([uc-wgt-common]) dialog:not([open]) [activity] {
    display: none;
  }
}

@layer uc.post-reset {
  :where([uc-wgt-common]) uc-source-btn[type] {
    all: unset;
  }
}

@layer uc.solutions;
