:root {
    --z-index-sidebar-toggle: 2;
    --z-index-sidebar-bg: 3;
    --z-index-topbar: 3;
    --z-index-sidebar: 4;
    --z-index-dropdown-open: 1001;
    --z-index-modal: 1055;
    --z-index-uppy: 1056;
    --z-index-contextmenu: 1600;
    --z-index-tooltip: 3;
}

.toastify-text, .dropdown-header-text, .menu-a, .crumb, .sortbar-item-text, .date, .ext-inner, .files-list .name, .files-imagelist .name, .files-imagelist .title, .files-blocks .name, .files-blocks .title, .files-grid .name, .files-rows .name, .columns-noinfo .name, .pswp__search, .popup-date, .modal-title, .modal-info-mime-text {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

button, [type="button"], [type="reset"], [type="submit"], .button, .uppy-Dashboard-browse, .button-icon, .dropdown-menu, .menu-a, .crumb-link, .sortbar-item-text, .files-a, .pswp__container, .pswp__img, .pswp__counter, .pswp__share-modal {
    -webkit-user-select: none;
    user-select: none
}

.input, #search::-webkit-search-cancel-button, .form-range {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.license-feature, .exif-Model, .exif-gps, .modal-info-meta, .modal-info-exif, .modal-info-mime, .modal-info-permissions, .modal-info-date {
    display: flex;
    flex-direction: row;
    align-items: center
}

.files-imagelist .exif > *:not(:first-child), .popup-image-meta > *:not(:first-child), .popup-exif > *:not(:first-child), .popup-owner > *:not(:first-child), .popup-location > *:not(:first-child), .modal-info-meta > *:not(:first-child), .modal-info-exif > *:not(:first-child) {
    border-left: 1px solid var(--divider-color, var(--border-color));
    margin-left: var(--divider-space, 0.8em);
    padding-left: var(--divider-space, 0.8em)
}

.swal2-shown.has-scrollbars, .has-scrollbars .uppy-Dashboard-isFixed, .has-scrollbars.popup-open, .modal-open.has-scrollbars {
    max-width: calc(100vw - var(--scrollbar-width, 0px))
}

.no-pointer {
    pointer-events: none
}

.swal2-backdrop-show, .uppy-Dashboard-overlay, .uppy-is-drag-over:after, .updating:after, .updated:after, .pswp__caption-style-block:hover, .pswp__caption-style-gradient:hover, .pswp__caption-style-none:hover, .modal {
    -webkit-backdrop-filter: blur(1px);
    backdrop-filter: blur(1px)
}

.swal2-container, .updating:after, .updated:after, .pswp, .pswp__bg, .pswp__scroll-wrap, .pswp__container, .pswp__zoom-wrap, .pswp__item, .modal {
    left: 0;
    top: 0;
    width: 100vw;
    height: 100%
}

@media (hover: hover) {
    .swal2-container:active:not(:has(>*:last-child:hover)), .modal-show:active:not(:has(>*:last-child:hover)) {
        opacity: .9
    }
}

#sidebar-menu.cm-active:before, #files-container.cm-active:before {
    animation: opacity .2s;
    content: '';
    position: absolute;
    display: inline-flex;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    border: 5px dashed var(--text3)
}

.license-title, .files-list .name, .files-imagelist .name, .files-blocks .name, .columns-info .name, .modal-info-name, .modal-info-title:first-child:not(:last-child), .modal-info-headline:first-child:not(:last-child) {
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--font-weight-letter-spacing)
}

[data-theme="dark"], [data-theme="contrast"] #topbar, [data-theme="contrast"] #sidebar, [data-theme="contrast"] #sidebar-bg, .alert, .dropdown-menu, .svg-file-ext, [data-tooltip], .pswp__caption {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.toastify, .cm-s-one-dark, #topbar-info {
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto
}

*, ::before, ::after {
    box-sizing: border-box;
    background-repeat: no-repeat
}

:root {
    --font-family: system-ui, -apple-system, 'Segoe UI', 'Roboto', 'Ubuntu', 'Cantarell', 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
    --font-family-monospace: ui-monospace, Menlo, Monaco, 'Cascadia Mono', 'Segoe UI Mono', 'Roboto Mono', 'Oxygen Mono', 'Ubuntu Monospace', 'Source Code Pro', 'Fira Mono', 'Droid Sans Mono', /*'Courier New',*/ monospace;
    --font-size: 16px;
    --font-weight: 400;
    --line-height: 1.5;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    color: var(--text1);
    font-size: var(--font-size);
    font-weight: var(--font-weight);
    line-height: var(--line-height);
    font-family: var(--font-family);
    text-rendering: optimizeLegibility
}

:root, body {
    margin: 0;
    background-color: var(--surface1)
}

button, input, select, textarea {
    margin: 0;
    font: inherit;
    color: inherit;
    background: none;
    border: none
}

textarea {
    resize: vertical
}

h1, h2, h3, h4, h5, h6, p, ol, ul {
    margin: 0;
    padding: 0
}

strong, b {
    font-weight: 500
}

small {
    font-size: .8125em
}

iframe, img, video {
    max-width: 100%;
    height: auto;
    border: 0
}

svg {
    fill: currentColor
}

button, [type="button"], [type="reset"], [type="submit"] {
    touch-action: manipulation;
    -webkit-appearance: button;
    cursor: pointer;
    outline: 0
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-moz-focus-inner {
    padding: 0;
    border-style: none
}

[aria-busy="true"] {
    cursor: progress
}

[aria-disabled="true"], [disabled] {
    cursor: not-allowed
}

iframe {
    border: 0
}

a {
    text-decoration: none;
    color: inherit
}

:root {
    --hue: 210;
    --hsl-primary-dark: var(--hue) 50% 45%;
    --hsl-primary-contrast: var(--hue) 45% 50%;
    --hsl-primary-light: var(--hue) 55% 55%;
    --text-base-lightness-light: 30%;
    --text1-light: hsl(var(--hue), 20%, var(--text-base-lightness-light));
    --text2-light: hsl(var(--hue), 17%, calc(var(--text-base-lightness-light) + 15%));
    --text3-light: hsl(var(--hue), 15%, calc(var(--text-base-lightness-light) + 30%));
    --surface-base-lightness-light: 98%;
    --surface1-light: hsl(var(--hue), 20%, calc(var(--surface-base-lightness-light) + -8%));
    --surface2-light: hsl(var(--hue), 20%, calc(var(--surface-base-lightness-light) + -3%));
    --surface3-light: hsl(var(--hue), 20%, var(--surface-base-lightness-light));
    --surface4-light: white;
    --files-border-bottom-light: 0 1px 0 0 hsl(var(--hue), 20%, calc(var(--surface-base-lightness-light) + -12%));
    --img-placeholder-bg-light: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48'><path fill='hsl(210, 16%, 84%)' d='M40 41H8c-2.2 0-4-1.8-4-4V11c0-2.2 1.8-4 4-4h32c2.2 0 4 1.8 4 4v26c0 2.2-1.8 4-4 4z'/><circle fill='hsl(210, 15%, 95%)' cx='35' cy='16' r='3'/><path fill='hsl(210, 16%, 62%)' d='M20 16L9 32h22z'/><path fill='hsl(210, 15%, 73%)' d='M31 22l-8 10h16z'/></svg>");
    --color-danger-light: hsl(0, 60%, 55%);
    --color-info-light: var(--text1);
    --color-success-light: hsl(105, 30%, 50%);
    --popup-bg-light: black;
    --dropdown-shadow-light: 0 8px 25px -10px hsl(var(--hue), 60%, 10%);
    --rgb-theme-light: 255, 255, 255;
    --rgb-theme-invert-light: 0, 0, 0;
    --text-base-lightness-dark: 80%;
    --text1-dark: hsl(var(--hue), 20%, var(--text-base-lightness-dark));
    --text2-dark: hsl(var(--hue), 17%, calc(var(--text-base-lightness-dark) + -15%));
    --text3-dark: hsl(var(--hue), 14%, calc(var(--text-base-lightness-dark) + -30%));
    --surface-base-lightness-dark: 8%;
    --surface1-dark: hsl(var(--hue), 20%, var(--surface-base-lightness-dark));
    --surface2-dark: hsl(var(--hue), 20%, calc(var(--surface-base-lightness-dark) + 2%));
    --surface3-dark: hsl(var(--hue), 20%, calc(var(--surface-base-lightness-dark) + 4%));
    --surface4-dark: hsl(var(--hue), 20%, calc(var(--surface-base-lightness-dark) + 6%));
    --files-border-bottom-dark: 0 0 0 0 transparent;
    --img-placeholder-bg-dark: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48'><path fill='hsl(210, 20%, 20%)' d='M40 41H8c-2.2 0-4-1.8-4-4V11c0-2.2 1.8-4 4-4h32c2.2 0 4 1.8 4 4v26c0 2.2-1.8 4-4 4z'/><circle fill='hsl(210, 20%, 50%)' cx='35' cy='16' r='3'/><path fill='hsl(210, 20%, 30%)' d='M20 16L9 32h22z'/><path fill='hsl(210, 20%, 40%)' d='M31 22l-8 10h16z'/></svg>");
    --color-danger-dark: hsl(0, 50%, 45%);
    --color-info-dark: hsl(var(--hue), 20%, calc(var(--surface-base-lightness-dark) + 12%));
    --color-success-dark: hsl(105, 30%, 45%);
    --popup-bg-dark: black;
    --dropdown-shadow-dark: 0 10px 40px -15px black;
    --rgb-theme-dark: 0, 0, 0;
    --rgb-theme-invert-dark: 255, 255, 255;
    --surface-active: var(--surface3);
    --primary: hsl(var(--hue), 50%, 50%);
    --border-color: rgba(var(--rgb-theme-invert), .05)
}

@supports (background-color: HSL(50 50% 50%/50%)) {
    :root {
        --primary: hsl(var(--hsl-primary))
    }
}

@supports (background-color: HSL(50 50% 50%/50%)) {
    :root {
        --border-color: hsl(var(--hue) 30% 50% / 15%)
    }
}

[data-theme="contrast"] {
    --modal-surface: var(--surface4);
    --modal-box-shadow: 0 5px 35px -15px var(--surface1-dark);
    --modal-bg: hsl(var(--hue) 20% 14% / 85%);
    --dropdown-shadow: var(--dropdown-shadow-light);
    --files-svg-active-filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .1));
    --theme-dark-rotate: 45deg;
    --hsl-primary: var(--hsl-primary-contrast)
}

[data-theme="contrast"] .cm-sidebar {
    --dropdown-shadow: var(--dropdown-shadow-dark)
}

[data-theme="light"] {
    --modal-surface: var(--surface4);
    --modal-bg: hsl(var(--hue) 18% 78% / 80%);
    --modal-box-shadow: 0 5px 25px -15px hsl(var(--hue), 20%, 40%);
    --dropdown-shadow: var(--dropdown-shadow-light);
    --files-svg-active-filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .1));
    --theme-contrast-rotate: 45deg;
    --hsl-primary: var(--hsl-primary-light)
}

[data-theme="dark"] {
    --modal-bg: hsl(var(--hue) 20% var(--surface-base-lightness-dark) / 90%);
    --modal-surface: hsl(var(--hue), 20%, calc(var(--surface-base-lightness-dark) + 7%));
    --modal-box-shadow: 0 5px 25px -15px black;
    --files-svg-active-filter: drop-shadow(0 7px 15px rgba(0, 0, 0, .25));
    --dropdown-shadow: var(--dropdown-shadow-dark);
    --theme-light-rotate: 45deg;
    --hsl-primary: var(--hsl-primary-dark)
}

[data-theme="light"], [data-theme="contrast"] {
    color-scheme: light;
    --text1: var(--text1-light);
    --text2: var(--text2-light);
    --text3: var(--text3-light);
    --surface1: var(--surface1-light);
    --surface2: var(--surface2-light);
    --surface3: var(--surface3-light);
    --surface4: var(--surface4-light);
    --files-border-bottom: var(--files-border-bottom-light);
    --img-placeholder-bg: var(--img-placeholder-bg-light);
    --color-danger: var(--color-danger-light);
    --color-info: var(--color-info-light);
    --color-success: var(--color-success-light);
    --popup-bg: var(--popup-bg-light);
    --rgb-theme: var(--rgb-theme-light);
    --rgb-theme-invert: var(--rgb-theme-invert-light);
    --svg-file-bg: hsl(60, 17%, calc(var(--surface-base-lightness-light) - 12%));
    --svg-file-flip: hsl(52, 16%, calc(var(--surface-base-lightness-light) - 20%));
    --svg-file-icon: hsl(19, 13%, calc(var(--surface-base-lightness-light) - 27%));
    --svg-folder-bg: hsl(var(--hue), 45%, 55%);
    --svg-folder-fg: hsl(var(--hue), 50%, 65%);
    --svg-folder-bg-large: hsl(var(--hue), 50%, 65%);
    --svg-folder-fg-large: hsl(var(--hue), 55%, 75%);
    --type-default: hsl(var(--hue), 15%, 65%);
    --type-application: hsl(var(--hue), 65%, 55%);
    --type-archive: hsl(39, 76%, 60%);
    --type-audio: hsl(21, 77%, 55%);
    --type-excel: hsl(135, 30%, 59%);
    --type-word: hsl(205, 84%, 59%);
    --type-pdf: hsl(359, 50%, 55%);
    --type-cd: hsl(15, 72%, 70%);
    --type-code: hsl(10, 69%, 62%);
    --type-text: hsl(210, 50%, 60%);
    --type-open_in_new: var(--type-text);
    --type-powerpoint: hsl(13, 65%, 51%);
    --type-font: hsl(286, 45%, 65%);
    --type-video: hsl(357, 79%, 65%);
    --type-youtube: hsl(0, 90%, 55%);
    --type-vimeo: hsl(195, 83%, 51%);
    --type-image: hsl(92, 36%, 58%);
    --svg-image-text-bg: hsl(92, 32%, 50%);
    --svg-image-sun: hsl(48, 85%, 65%);
    --font-weight-bold: 500;
    --font-weight-letter-spacing: normal;
    --surface-list-hover: var(--surface1-light)
}

[data-theme="contrast"], [data-theme="light"] {
    --surface-base-lightness-dark: 12%;
    --text-base-lightness-dark: 84%
}

[data-theme="dark"], [data-theme="contrast"] #topbar, [data-theme="contrast"] #sidebar, [data-theme="contrast"] #sidebar-bg {
    color-scheme: dark;
    color: var(--text1);
    --text1: var(--text1-dark);
    --text2: var(--text2-dark);
    --text3: var(--text3-dark);
    --surface1: var(--surface1-dark);
    --surface2: var(--surface2-dark);
    --surface3: var(--surface3-dark);
    --surface4: var(--surface4-dark);
    --files-border-bottom: var(--files-border-bottom-dark);
    --img-placeholder-bg: var(--img-placeholder-bg-dark);
    --color-danger: var(--color-danger-dark);
    --color-info: var(--color-info-dark);
    --color-success: var(--color-success-dark);
    --popup-bg: var(--popup-bg-dark);
    --rgb-theme: var(--rgb-theme-dark);
    --rgb-theme-invert: var(--rgb-theme-invert-dark);
    --svg-file-bg: hsl(var(--hue), 20%, calc(var(--surface-base-lightness-dark) + 10%));
    --svg-file-flip: hsl(var(--hue), 18%, calc(var(--surface-base-lightness-dark) + 16%));
    --svg-file-icon: hsl(var(--hue), 16%, calc(var(--surface-base-lightness-dark) + 32%));
    --svg-folder-bg: hsl(var(--hue), 40%, 30%);
    --svg-folder-fg: hsl(var(--hue), 35%, 40%);
    --svg-folder-bg-large: hsl(var(--hue), 30%, 20%);
    --svg-folder-fg-large: hsl(var(--hue), 25%, 28%);
    --type-default: hsl(var(--hue), 20%, 40%);
    --type-application: hsl(var(--hue), 50%, 55%);
    --type-archive: hsl(39, 51%, 57%);
    --type-audio: hsl(21, 50%, 50%);
    --type-excel: hsl(135, 20%, 49%);
    --type-word: hsl(205, 54%, 49%);
    --type-pdf: hsl(359, 39%, 50%);
    --type-cd: hsl(15, 42%, 50%);
    --type-code: hsl(10, 45%, 50%);
    --type-text: hsl(210, 40%, 50%);
    --type-open_in_new: var(--type-text);
    --type-powerpoint: hsl(13, 50%, 51%);
    --type-font: hsl(286, 30%, 55%);
    --type-video: hsl(357, 45%, 55%);
    --type-youtube: hsl(0, 60%, 50%);
    --type-vimeo: hsl(195, 60%, 50%);
    --type-image: hsl(92, 28%, 52%);
    --svg-image-text-bg: hsl(92, 29%, 44%);
    --svg-image-sun: hsl(48, 60%, 55%);
    --font-weight-bold: 400;
    --font-weight-letter-spacing: 0.02ch
}

.cm-popup {
    --dropdown-shadow: var(--dropdown-shadow-dark)
}

[data-theme="dark"] .cm-sidebar, [data-theme="contrast"] .cm-sidebar {
    --dropdown-top-color: var(--text3)
}

[data-theme="dark"] .dropdown-menu-topbar, [data-theme="contrast"] .dropdown-menu-topbar {
    --dropdown-top-color: var(--primary)
}

.svg-icon {
    width: 1em;
    height: 1em;
    font-size: var(--svg-icon-font-size, 24px);
    vertical-align: bottom;
    pointer-events: none;
    flex-shrink: 0;
    margin: var(--svg-icon-margin, 0);
    fill: var(--svg-icon-fill, currentColor)
}

@keyframes rotate {
    to {
        transform: rotate(360deg)
    }
}

.body-loading:before, .form-loading:before, .updating:before, .files-spinner:before, .modal-preview-spinner:before, .toastify-loading:before, .sidebar-spinner:before, .menu-spinner:before, .dropdown-lang-loading:before, .pswp__spinner:before {
    content: '';
    display: inline-block;
    vertical-align: bottom;
    border-radius: 50%;
    animation: rotate 0.75s linear infinite, opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    width: var(--spinner-size, 24px);
    height: var(--spinner-size, 24px);
    border-style: solid;
    border-width: var(--spinner-width, 1px);
    border-color: var(--spinner-track, transparent);
    border-top-color: var(--spinner-color, currentColor);
    position: var(--spinner-position, absolute);
    margin: var(--spinner-margin, 0)
}

.body-loading:before, .form-loading:before, .updating:before, .files-spinner:before, .modal-preview-spinner:before {
    top: calc(50% - var(--spinner-size, 24px) / 2);
    left: calc(50% - var(--spinner-size, 24px) / 2)
}

.body-loading {
    --spinner-size: 48px;
    --spinner-color: var(--text3)
}

.body-loading #sidebar, .body-loading #main {
    display: none
}

:root {
    --spacing: 1em;
    --form-padding-x: .9em;
    --form-padding-y: .6em;
    --form-line-height: 1.3;
    --hsl-danger: 0 50% 50%;
    --hsl-success: 105 30% 50%;
    --button-color: rgba(255, 255, 255, .95);
    --button-hsl: var(--hsl-primary);
    --input-active-hsl: var(--hsl-primary);
    --input-active-hsl-empty: var(--hue) 20% 45%;
    --input-box-shadow: 0 0 0 1px hsl(var(--input-active-hsl-empty) / 20%);
    --input-active-box-shadow-alpha: 25%
}

.button, .uppy-Dashboard-browse, .button-icon {
    touch-action: manipulation;
    cursor: pointer;
    outline: none;
    transition: 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    --button-surface: var(--primary);
    --button-box-shadow-active: inset 0 0 0 50px rgba(0, 0, 0, .1), 0 0 0 3px rgba(var(--rgb-theme-invert), .1)
}

.button:hover, .uppy-Dashboard-browse:hover, .button-icon:hover {
    box-shadow: var(--button-box-shadow-hover, none)
}

@supports (background-color: HSL(50 50% 50%/50%)) {
    .button, .uppy-Dashboard-browse, .button-icon {
        --button-surface: hsl(var(--button-hsl));
        --button-box-shadow-active: inset 0 0 0 50px rgba(0, 0, 0, .1), 0 0 0 3px hsl(var(--button-hsl) / 30%)
    }
}

.button:active, .uppy-Dashboard-browse:active, .button-icon:active, .button:focus-visible, .uppy-Dashboard-browse:focus-visible, .button-icon:focus-visible {
    box-shadow: var(--button-box-shadow-active)
}

.button, .uppy-Dashboard-browse {
    position: relative;
    --button-box-shadow-hover: inset 0 0 0 50px rgba(255, 255, 255, .1);
    border-bottom: 1px solid rgba(var(--rgb-theme-dark), 0.1);
    color: var(--button-color);
    background-color: var(--button-surface);
    line-height: var(--form-line-height);
    padding: var(--form-padding-y) var(--form-padding-x) calc(var(--form-padding-y) - 1px) var(--form-padding-x);
    min-width: 6em;
    border-radius: 3px;
    display: inline-block;
    text-align: center
}

.button:hover, .uppy-Dashboard-browse:hover, .button:active, .uppy-Dashboard-browse:active {
    --button-color: white
}

.button:not(:first-of-type), .uppy-Dashboard-browse:not(:first-of-type) {
    margin-left: 10px
}

.button-secondary {
    color: currentColor;
    --button-surface: rgba(var(--rgb-theme-invert), .05);
    --button-box-shadow-hover: inset 0 0 0 50px var(--button-surface);
    --button-box-shadow-active: var(--button-box-shadow-hover), 0 0 0 3px rgba(var(--rgb-theme-invert), .05);
    border-bottom-color: rgba(0, 0, 0, 0.05)
}

.button-success {
    --button-hsl: var(--hsl-success)
}

.button-icon {
    padding: var(--button-padding, 10px);
    margin: var(--button-margin, 0);
    border-radius: var(--button-border-radius, 50%);
    display: inline-flex;
    line-height: 1;
    color: var(--button-icon-color, currentColor)
}

.mouse-hover .button-icon {
    transition-delay: var(--mouse-hover-transition-delay, 0.25s)
}

.button-icon .svg-icon {
    will-change: transform;
    transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    transform: scale(var(--button-icon-scale, 1))
}

.button-icon:hover, .button-icon:active, .button-icon.cm-active, .dropdown:hover .button-icon, .button-icon:focus-visible {
    color: white;
    fill: white;
    background-color: var(--button-surface);
    --mouse-hover-transition-delay: 0s
}

.button-icon:active {
    --button-icon-scale: .9583333333
}

.input {
    line-height: var(--form-line-height);
    transition: 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    width: 100%;
    padding: var(--form-padding-y) var(--form-padding-x);
    border-radius: 3px;
    outline: none;
    margin-bottom: var(--spacing);
    background-color: var(--input-surface, var(--surface2));
    box-shadow: var(--input-box-shadow);
    --input-box-shadow-active: 0 0 0 1px hsl(var(--input-active-hsl) / var(--input-active-box-shadow-alpha)), 0 0 0 var(--input-active-spread) hsl(var(--input-active-hsl) / var(--input-active-box-shadow-alpha));
    --input-active-spread: 4px
}

.input:placeholder-shown {
    --input-active-hsl: var(--input-active-hsl-empty)
}

.input:hover {
    --input-box-shadow: 0 0 0 1px hsl(var(--input-active-hsl-empty) / 40%)
}

.input:focus, .input[aria-invalid] {
    --input-box-shadow: var(--input-box-shadow-active)
}

.input:active {
    --input-active-spread: 5px
}

.input[aria-invalid="true"] {
    --input-active-hsl: var(--hsl-danger)
}

.input[aria-invalid="false"] {
    --input-active-hsl: var(--hsl-success)
}

.input::placeholder {
    color: var(--text3);
    opacity: .8
}

.input-label .input {
    margin-top: .5em
}

.checkbox {
    width: 1em;
    height: 1em;
    accent-color: var(--primary);
    margin-right: .5rem
}

.checkbox-label {
    cursor: pointer;
    display: inline-flex;
    align-items: center
}

.alert {
    text-align: left;
    line-height: var(--form-line-height);
    color: rgba(255, 255, 255, 0.95);
    padding: var(--form-padding-y) var(--form-padding-x);
    margin-bottom: var(--spacing);
    border-radius: 3px
}

.alert-danger {
    background-color: var(--color-danger);
    box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.3)
}

.alert-warning {
    background-color: var(--color-info)
}

:root {
    --scrollbar-color-light: rgba(0, 0, 0, .3);
    --scrollbar-color-hover-light: rgba(0, 0, 0, .4);
    --scrollbar-color-dark: rgba(255, 255, 255, .3);
    --scrollbar-color-hover-dark: rgba(255, 255, 255, .4)
}

:root, [data-theme="contrast"] .modal-preview, .cm-s-one-light {
    --scrollbar-color: var(--scrollbar-color-light);
    --scrollbar-color-hover: var(--scrollbar-color-hover-light)
}

[data-theme="dark"], [data-theme="contrast"] #sidebar, [data-theme="contrast"] .modal, .cm-s-one-dark {
    --scrollbar-color: var(--scrollbar-color-dark);
    --scrollbar-color-hover: var(--scrollbar-color-hover-dark)
}

.has-scrollbars, .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .uppy-Dashboard-files, #sidebar-menu, .modal {
    scrollbar-width: var(--firefox-scrollbar-width, thin);
    scrollbar-color: var(--scrollbar-color) transparent
}

.has-scrollbars {
    --webkit-scrollbar-width: 10px
}

.has-scrollbars ::-webkit-scrollbar {
    -webkit-appearance: none;
    width: var(--webkit-scrollbar-width);
    height: var(--webkit-scrollbar-width)
}

.has-scrollbars ::-webkit-scrollbar-thumb {
    border-radius: calc(var(--webkit-scrollbar-width) / 2);
    background-color: var(--scrollbar-color)
}

.has-scrollbars ::-webkit-scrollbar-thumb:hover {
    background-color: var(--scrollbar-color-hover)
}

.scrollbar-test {
    scrollbar-width: thin;
    width: 100px;
    height: 100px;
    overflow: scroll;
    position: absolute;
    top: -9999px
}

.swal2-container {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    z-index: 1060;
    height: 100%;
    padding: var(--padding, 0);
    overflow-x: hidden;
    transition: background-color 0.2s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-overflow-scrolling: touch
}

@media (min-width: 390px) {
    .swal2-container {
        --padding: 1rem;
        --border-radius: 3px
    }
}

.swal2-container.swal2-backdrop-show {
    background-color: var(--modal-bg)
}

.swal2-popup {
    display: none;
    position: relative;
    width: 400px;
    max-width: 100%;
    padding: 1.5rem;
    border-radius: var(--border-radius, 0);
    background-color: var(--surface4);
    color: inherit
}

.swal2-popup:focus {
    outline: none
}

.swal2-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end
}

.swal2-validation-message {
    align-items: center;
    margin: 0 -1.5rem;
    padding: 0.75rem 1.5rem
}

.swal2-show {
    animation: 0.2s swal-in cubic-bezier(0.165, 0.84, 0.44, 1)
}

.swal2-hide {
    animation: 0.2s swal-out cubic-bezier(0.165, 0.84, 0.44, 1)
}

@keyframes swal-in {
    0% {
        opacity: 0;
        transform: translateY(2px)
    }
    100% {
        opacity: 1;
        transform: none
    }
}

@keyframes swal-out {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

.swal2-shown.has-scrollbars {
    overflow: hidden
}

.swal2-container {
    contain: strict;
    cursor: zoom-out
}

.swal2-popup {
    cursor: auto;
    box-shadow: var(--modal-box-shadow), inset 0 2px 0 0 var(--swal-border-top, var(--primary))
}

.swal2-title {
    font-weight: 500;
    font-size: 1.375rem;
    line-height: 1.2
}

.swal2-close {
    --svg-icon-font-size: 36px;
    --button-padding: 4px;
    --button-margin: .5rem .5rem 0 0;
    position: absolute;
    justify-self: end;
    z-index: 2
}

.swal2-input {
    margin: 0;
    font-size: 1.125rem
}

@media (pointer: fine) {
    .swal2-actions {
        font-size: .875rem
    }
}

.swal2-title, .swal2-input::placeholder, .swal2-cancel, .swal2-confirm {
    text-transform: capitalize
}

.files-swal2-path {
    margin: 0 -1.5rem;
    padding: 0.75rem 1.5rem;
    background-color: var(--surface3);
    word-break: break-all
}

.files-swal2-path-path {
    color: var(--text3);
    font-size: .875rem
}

.files-swal2-path-highlight {
    font-weight: 500;
    line-height: 1.3
}

.swal2-validation-message {
    animation: opacity .3s;
    --svg-icon-margin: 0 5px 0 0;
    background-color: var(--color-danger);
    color: white
}

.files-swal2-invalid-chars {
    font-family: var(--font-family-monospace);
    background: rgba(0, 0, 0, 0.1);
    padding: 0 .4em;
    margin-left: .4em
}

.swal2-title, .swal2-html-container, .swal2-input, .swal2-validation-message {
    margin-bottom: 1rem
}

.swal2-actions {
    margin-top: .5rem
}

/*!
 * Toastify js 1.12.0
 * https://github.com/apvarun/toastify-js
 * @license MIT licensed
 *
 * Copyright (C) 2018 Varun A P
 */
.toastify {
    --toast-padding: 15px;
    --toastify-color: var(--dropdown-text);
    color: var(--toastify-color);
    --toastify-bg: var(--dropdown-surface);
    background-color: var(--toastify-bg);
    box-shadow: var(--dropdown-shadow);
    position: fixed;
    display: flex;
    align-items: center;
    padding: 12px 18px;
    font-size: .9375rem;
    font-weight: 400;
    border-radius: 3px;
    z-index: 2147483647;
    transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
    --svg-icon-margin: 0 8px 0 -5px;
    --svg-icon-font-size: 18px;
    left: var(--toast-padding);
    right: var(--toast-padding);
    bottom: var(--toast-padding)
}

@media (min-width: 576px) {
    .toastify {
        left: auto;
        max-width: calc(100% - var(--toast-padding) * 2)
    }
}

@media (min-width: 768px) {
    .toastify {
        max-width: 50%
    }
}

@media (min-width: 1200px) {
    .toastify {
        max-width: 480px
    }
}

.toastify.on {
    opacity: 1
}

.toastify-right {
    right: var(--toast-padding)
}

.toastify-left {
    left: var(--toast-padding)
}

.toastify-top {
    top: -150px
}

.toastify-bottom {
    bottom: calc(var(--toast-padding) * -1)
}

.toastify-success, .toastify-danger {
    --toastify-color: rgba(255, 255, 255, .9)
}

.toastify-success {
    --toastify-bg: var(--color-success)
}

.toastify-danger {
    --toastify-bg: var(--color-danger)
}

.toastify-text {
    display: inline-block;
    flex: 1
}

.toastify-text::first-letter {
    text-transform: uppercase
}

.toastify-link {
    cursor: pointer
}

.toastify-link:hover {
    text-decoration: underline
}

.toastify-loading {
    --svg-icon-margin: 0;
    --spinner-position: static;
    --spinner-margin: 0 10px 0 -5px
}

.toastify-percent {
    font-family: var(--font-family-monospace);
    font-weight: normal;
    min-width: 40px;
    padding-left: 10px;
    display: flex;
    justify-content: flex-end
}

.toastify-progress-bar {
    border-radius: 0 0 3px 3px;
    height: 3px;
    width: 100%;
    background-color: var(--primary);
    position: absolute;
    left: 0;
    bottom: 0;
    transform-origin: 0px 0px;
    transform: scaleX(0);
    transition: transform .2s
}

.CodeMirror {
    height: auto;
    flex-basis: 100%;
    font-family: var(--font-family-monospace);
    font-size: .8125rem;
    line-height: 1.5em;
    color: var(--cm-color);
    background: none
}

@supports (-webkit-touch-callout: none) {
    .CodeMirror {
        font-size: 16px
    }
}

.CodeMirror-scroll {
    overscroll-behavior: contain
}

.CodeMirror-gutter, .CodeMirror-gutters {
    border: none;
    background: var(--cm-gutter-surface);
    transition: background-color 0.3s cubic-bezier(0.23, 1, 0.32, 1)
}

.CodeMirror-linenumber, .CodeMirror-linenumbers {
    color: var(--cm-linenumber);
    background-color: transparent
}

.CodeMirror-lines {
    color: var(--cm-lines);
    background-color: transparent
}

.CodeMirror-selected {
    background: var(--cm-selected)
}

.CodeMirror-focused .CodeMirror-selected {
    background: var(--cm-selected-focused)
}

.CodeMirror-activeline-background, .CodeMirror-activeline-gutter {
    background-color: var(--cm-activeline);
    --cm-linenumber: var(--cm-lines)
}

.CodeMirror-cursor {
    border-left: 2px solid var(--cm-cursor)
}

.cm-quote, .cm-comment {
    font-style: italic
}

.cm-header {
    color: var(--cm-header)
}

.cm-quote {
    color: var(--cm-quote)
}

.cm-negative {
    color: var(--cm-negative)
}

.cm-positive {
    color: var(--cm-positive)
}

.cm-strong {
    color: var(--cm-strong)
}

.cm-em {
    color: var(--cm-em)
}

.cm-tag {
    color: var(--cm-tag)
}

.cm-attribute {
    color: var(--cm-attribute)
}

.cm-link {
    color: var(--cm-link);
    border-bottom: solid 1px var(--cm-link)
}

.cm-builtin {
    color: var(--cm-builtin)
}

.cm-keyword {
    color: var(--cm-keyword)
}

.cm-def {
    color: var(--cm-def)
}

.cm-atom {
    color: var(--cm-atom)
}

.cm-number {
    color: var(--cm-number)
}

.cm-property {
    color: var(--cm-property)
}

.cm-qualifier {
    color: var(--cm-qualifier)
}

.cm-variable {
    color: var(--cm-variable)
}

.cm-string {
    color: var(--cm-string)
}

.cm-punctuation {
    color: var(--cm-punctuation)
}

.cm-operator {
    color: var(--cm-operator)
}

.cm-meta {
    color: var(--cm-meta)
}

.cm-bracket {
    color: var(--cm-bracket)
}

.cm-comment {
    color: var(--cm-comment)
}

.cm-error {
    color: var(--cm-error)
}

.cm-m-css.cm-variable {
    color: var(--cm-m-css-variable)
}

.cm-m-css.cm-property {
    color: var(--cm-m-css-property)
}

.cm-m-css.cm-atom {
    color: var(--cm-m-css-atom)
}

.cm-m-css.cm-builtin {
    color: var(--cm-m-css-builtin)
}

.cm-m-lua.cm-variable {
    color: var(--cm-m-lua-variable)
}

.cm-s-one-light {
    color-scheme: light;
    --cm-color: hsl(var(--hue), 20%, 24%);
    --cm-lines: var(--cm-color);
    --cm-gutter-surface: var(--surface2);
    --cm-linenumber: hsl(var(--hue), 14%, 62%);
    --cm-selected: hsl(var(--hue), 10%, 90%);
    --cm-selected-focused: hsl(var(--hue), 60%, 90%);
    --cm-activeline: rgba(0, 0, 0, .05);
    --cm-cursor: #56b6c2;
    --cm-header: #e06c75;
    --cm-quote: #9d9d9f;
    --cm-negative: #e06c75;
    --cm-positive: #e06c75;
    --cm-strong: #e45649;
    --cm-em: #c678dd;
    --cm-tag: #e45649;
    --cm-attribute: #986801;
    --cm-link: #50a14f;
    --cm-builtin: #e06c75;
    --cm-keyword: #0184bc;
    --cm-def: hsl(39, 72%, 59%);
    --cm-atom: #0184bc;
    --cm-number: #986801;
    --cm-property: #e45649;
    --cm-qualifier: #e45649;
    --cm-variable: #e06c75;
    --cm-string: #50a14f;
    --cm-punctuation: var(--cm-color);
    --cm-operator: #56b6c2;
    --cm-meta: hsl(var(--hue), 20%, 40%);
    --cm-bracket: var(--cm-color);
    --cm-comment: hsl(var(--hue), 10%, 65%);
    --cm-error: #e06c75;
    --cm-m-css-variable: hsl(var(--hue), 20%, 50%);
    --cm-m-css-property: var(--cm-color);
    --cm-m-css-atom: #0184bc;
    --cm-m-css-builtin: #56b6c2;
    --cm-m-lua-variable: #56b6c2
}

.cm-s-one-dark {
    color-scheme: dark;
    --cm-color: hsl(var(--hue), 14%, 71%);
    --cm-lines: var(--cm-color);
    --cm-gutter-surface: var(--modal-codemirror-surface);
    --cm-linenumber: hsl(var(--hue), 10%, 40%);
    --cm-selected: hsl(var(--hue), 14%, 26%);
    --cm-selected-focused: hsl(var(--hue), 14%, 28%);
    --cm-activeline: rgba(255, 255, 255, .05);
    --cm-cursor: #56b6c2;
    --cm-header: #e06c75;
    --cm-quote: #5c6370;
    --cm-negative: #e06c75;
    --cm-positive: #e06c75;
    --cm-strong: #d19a66;
    --cm-em: #c678dd;
    --cm-tag: #e06c75;
    --cm-attribute: #d19a66;
    --cm-link: #98c379;
    --cm-builtin: #e06c75;
    --cm-keyword: #c678dd;
    --cm-def: #e5c07b;
    --cm-atom: #d19a66;
    --cm-number: #d19a66;
    --cm-property: #56b6c2;
    --cm-qualifier: #d19a66;
    --cm-variable: #e06c75;
    --cm-string: #98c379;
    --cm-punctuation: var(--cm-color);
    --cm-operator: #56b6c2;
    --cm-meta: var(--cm-color);
    --cm-bracket: var(--cm-color);
    --cm-comment: hsl(var(--hue), 10%, 40%);
    --cm-error: #e06c75;
    --cm-m-css-variable: hsl(var(--hue), 9%, 55%);
    --cm-m-css-property: var(--cm-color);
    --cm-m-css-atom: #56b6c2;
    --cm-m-css-builtin: #56b6c2;
    --cm-m-lua-variable: #56b6c2
}

.uppy-Root {
    color: var(--text1);
    font-family: inherit;
    position: relative;
    z-index: var(--z-index-uppy);
    -webkit-font-smoothing: inherit;
    -moz-osx-font-smoothing: inherit
}

@media (hover: hover) {
    .uppy-Dashboard-overlay:active, .uppy-Dashboard-overlay:active + .uppy-Dashboard-inner {
        transition: opacity .2s;
        opacity: .8
    }
}

.uppy-Dashboard-overlay {
    cursor: zoom-out;
    background-color: var(--modal-bg) !important
}

.uppy-Dashboard-inner {
    box-shadow: var(--modal-box-shadow) !important
}

.uppy-Dashboard-AddFiles-title {
    display: flex;
    flex-direction: column;
    font-size: 1rem !important;
    color: var(--text1) !important
}

.uppy-Dashboard-browse {
    font-size: 1.125rem;
    width: 100%;
    text-transform: capitalize;
    padding: .75em 1em;
    margin: 10px auto;
    border-bottom: none !important;
    color: white !important
}

.uppy-size--md .uppy-Dashboard-browse {
    font-size: 1.25rem;
    width: auto
}

.uppy-Dashboard-dropFilesHereHint, .uppy-StatusBar-statusPrimary, .uppy-Dashboard-Item-name {
    color: var(--text1) !important
}

.uppy-Dashboard-Item-status, .uppy-Dashboard-note {
    color: var(--text3) !important
}

.upload-button {
    line-height: 1.6;
    font-size: 1rem;
    --button-hsl: var(--hsl-success);
    margin: 0 auto
}

@media (max-width: 575.98px) {
    .upload-button {
        width: 100%
    }
}

.uppy-Dashboard-FileCard-preview {
    background-color: var(--surface2) !important
}

.uppy-DashboardContent-bar, .uppy-Dashboard-FileCard-actions, .uppy-c-textInput, .uppy-Dashboard--singleFile .uppy-Dashboard-Item-previewInnerWrap, .uppy-Dashboard-Item-previewInnerWrap, .uppy-StatusBar {
    background-color: var(--surface3) !important
}

.uppy-Dashboard-inner, .uppy-Dashboard-FileCard-info {
    background-color: var(--surface4) !important
}

.uppy-StatusBar:before {
    content: none !important
}

.uppy-StatusBar-actions {
    background: none !important
}

.uppy-c-textInput, .uppy-DashboardContent-bar, .uppy-Dashboard-FileCard-actions, .uppy-StatusBar {
    border-color: transparent !important
}

[data-uppy-drag-drop-supported=true] .uppy-Dashboard-AddFiles {
    border-color: var(--text3)
}

.uppy-Dashboard-AddFilesPanel {
    background: var(--surface4) !important
}

@supports (background: HSL(50 50% 50%/50%)) {
    .uppy-Dashboard-AddFilesPanel {
        background: linear-gradient(0deg, var(--surface4) 35%, hsla(var(--hue), 20%, var(--lightness, 99%), 85%)) !important
    }

    [data-uppy-theme="dark"] .uppy-Dashboard-AddFilesPanel {
        --lightness: 20%
    }
}

.uppy-Dashboard-Item-errorDetails, .uppy-StatusBar-details {
    cursor: help;
    color: var(--surface4);
    background-color: var(--text1)
}

@media (min-width: 820px) {
    .uppy-Dashboard-inner {
        width: 580px;
        height: 460px;
        max-width: calc(100% - 96px);
        transition: width 0.25s cubic-bezier(0.77, 0, 0.175, 1), height 0.25s cubic-bezier(0.77, 0, 0.175, 1)
    }
}

@media (min-width: 820px) and (min-height: 580px) {
    .uppy-Dashboard-inner {
        max-height: calc(100% - 96px)
    }
}

@media (min-width: 820px) {
    .uppy-Dashboard-inner:has(.uppy-DashboardContent-panel) {
        transition: none;
        width: 1024px;
        height: 1024px
    }

    .uppy-Dashboard-inner-1 {
        height: 580px
    }

    .uppy-Dashboard-inner-2 {
        width: 780px
    }

    .uppy-Dashboard-inner-5 {
        height: 660px
    }

    .uppy-Dashboard-inner-9 {
        height: 780px
    }
}

.uppy-StatusBar.is-complete .uppy-StatusBar-progress {
    background-color: var(--color-success)
}

.uppy-Dashboard-Item-progressIcon--circle > circle {
    fill: var(--color-success)
}

.uppy-StatusBar.is-complete .uppy-StatusBar-statusIndicator {
    color: var(--color-success)
}

.button-uppy-close {
    position: absolute;
    top: -48px;
    right: -10px;
    z-index: 1005;
    --svg-icon-fill: white;
    --svg-icon-font-size: 36px;
    --button-padding: 4px
}

.button-uppy-close span {
    display: none
}

@media (min-width: 820px) {
    .button-uppy-close {
        right: -49px;
        top: 0
    }
}

@media (max-width: 819px) {
    .uppy-Dashboard--modal .uppy-Dashboard-inner {
        top: 52px
    }
}

.uppy-Dashboard--modal {
    animation: opacity 0.25s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.uppy-is-drag-over:after {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    border-color: var(--text3);
    animation: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.uppy-transition-slideDownUp-enter {
    transform: translate3d(0, -5px, 0);
    transition: 0.33s cubic-bezier(0.23, 1, 0.32, 1)
}

.uppy-allow-delete .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress {
    right: 10px
}

.uppy-Informer-animated p {
    border-radius: 3px;
    background-color: var(--surface1-dark) !important;
    color: rgba(255, 255, 255, 0.9)
}

.cropper-view-box {
    background: repeating-conic-gradient(var(--surface2) 0 25%, transparent 0 50%) 50%/20px 20px var(--surface4)
}

.cropper-modal {
    background-color: var(--surface2)
}

.cropper-point {
    background-color: var(--primary)
}

.uppy-ImageCropper .cropper-view-box {
    outline-color: var(--primary)
}

.uppy-Dashboard-files {
    --webkit-scrollbar-width: 6px;
    overscroll-behavior: contain
}

.uppy-demo-mode .upload-button, .uppy-nolicense .upload-button {
    display: none
}

.uppy-demo-mode .uppy-StatusBar-actions, .uppy-nolicense .uppy-StatusBar-actions {
    justify-content: center
}

.uppy-demo-mode .uppy-StatusBar-actions:after, .uppy-nolicense .uppy-StatusBar-actions:after {
    content: var(--upload-disabled-text, "Upload disabled in demo mode");
    cursor: not-allowed;
    font-size: 1rem;
    color: var(--text1);
    border: 1px dashed currentColor;
    border-radius: 3px;
    padding: 0 .9em
}

.uppy-nolicense {
    --upload-disabled-text: 'License required for upload function'
}

.compressor-container {
    padding: 1rem;
    font-size: .875rem;
    text-align: center
}

.uppy-Dashboard--isDraggingOver .compressor-container {
    opacity: .15
}

.compressor-container [data-lang] {
    display: inline-block
}

.compressor-options {
    text-align: left;
    display: none;
    margin-top: 1rem;
    grid-gap: 1rem;
    animation: opacity .2s forwards;
    --spacing: 0
}

.compressor-enabled .compressor-options {
    display: flex
}

@media (max-width: 575.98px) {
    .compressor-options {
        flex-wrap: wrap
    }
}

.compressor-options label {
    flex-basis: 22%;
    flex-grow: 1
}

@media (max-width: 575.98px) {
    .compressor-options .input {
        font-size: 1rem
    }
}

#watermark {
    flex-grow: 1
}

#watermark-text {
    resize: none;
    max-height: 84px
}

:root {
    --dropdown-surface: hsl(var(--hue), 20%, 20%);
    --dropdown-surface-header: hsl(var(--hue), 20%, 14%);
    --dropdown-text: hsl(var(--hue), 20%, 96%);
    --dropdown-divider-color: hsl(var(--hue), 20%, 26%);
    --dropdown-top-color: var(--dropdown-surface-header)
}

.dropdown-menu {
    color-scheme: dark;
    --dropdown-item-padding-y: .3em;
    --dropdown-item-padding-x: 1em;
    --svg-icon-font-size: 18px;
    --svg-icon-margin: 0 .5em 0 0;
    --svg-icon-fill: var(--text1-dark);
    color: var(--dropdown-text);
    background-color: var(--dropdown-surface);
    outline: none;
    border-radius: 3px;
    box-shadow: var(--dropdown-shadow);
    padding-bottom: .5em
}

[data-theme="light"] .dropdown-menu {
    --primary: hsl(var(--hsl-primary-contrast))
}

@media (hover: hover) and (pointer: fine) {
    .dropdown-menu {
        font-size: .875rem
    }
}

.dropdown-menu:before {
    content: '';
    position: absolute;
    border: solid 5px;
    border-color: transparent transparent var(--dropdown-top-color) transparent;
    top: -10px;
    left: var(--nub-left);
    transform: translateX(-50%)
}

.dropdown-menu.nub-bottom:before {
    top: 100%;
    border-color: var(--dropdown-surface) transparent transparent transparent
}

.dropdown-header {
    width: 0px;
    min-width: 100%;
    padding: 0.6875em var(--dropdown-item-padding-x);
    margin-bottom: .3em;
    background-color: var(--dropdown-surface-header);
    border-radius: 3px 3px 0 0;
    font-weight: 500;
    color: hsl(var(--hue), 20%, 95%);
    box-shadow: inset 0 2px 0 -1px var(--dropdown-top-color)
}

.dropdown-header, .dropdown-item {
    display: flex;
    align-items: center;
    white-space: nowrap
}

.dropdown-item {
    touch-action: manipulation;
    outline: none;
    text-transform: capitalize;
    text-align: left;
    width: 100%;
    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x)
}

.dropdown-item:hover, .dropdown-item:active, .dropdown-item.active, .dropdown-item:focus-visible {
    --svg-icon-fill: currentColor;
    background-color: var(--primary);
    color: white
}

.dropdown-item:focus, .dropdown-item:active {
    transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1)
}

.dropdown-item:active {
    box-shadow: inset 0 0 0 99em rgba(0, 0, 0, 0.15)
}

.dropdown-separator {
    margin: .5em 0;
    height: 1px;
    background-color: var(--dropdown-divider-color);
    border: none
}

.context-button {
    display: inline-flex
}

.context-button .svg-path-dots, .context-button .svg-path-close_thin {
    transition: transform, fill-opacity;
    transition-duration: .25s;
    transition-timing-function: cubic-bezier(0.15, 0.3, 0, 1);
    transform-origin: center
}

.context-button .svg-path-close_thin {
    fill-opacity: 0;
    transform: rotate(-45deg)
}

.context-button.cm-active .svg-path-dots {
    fill-opacity: 0;
    transform: rotate(45deg)
}

.context-button.cm-active .svg-path-close_thin {
    fill-opacity: 1;
    transform: rotate(0deg)
}

#contextmenu {
    position: fixed;
    display: none;
    z-index: var(--z-index-contextmenu)
}

[data-lang]:first-letter, time:first-letter {
    text-transform: uppercase
}

.license-container {
    line-height: 1.3;
    color: var(--text2)
}

.license-header a:hover {
    text-decoration: underline
}

.license-header .alert {
    margin: 0 -1.5rem var(--spacing);
    padding: 0.75em 1.5rem;
    border-radius: 0
}

.license-title {
    font-size: 1.125rem;
    color: var(--text1)
}

.license-features {
    box-shadow: 0 -1px 0px var(--border-color), 0 1px 0px var(--border-color);
    padding: 1rem 0;
    margin: 1rem 0;
    display: flex;
    flex-wrap: wrap
}

.license-popup {
    --swal-border-top: var(--color-success);
    width: 420px
}

.license-feature {
    line-height: 1.6;
    font-size: .875rem;
    flex-basis: 50%;
    --svg-icon-fill: var(--color-success);
    --svg-icon-margin: 0 5px 0 0;
    --svg-icon-font-size: 18px;
    white-space: nowrap
}

#buy_button {
    display: flex;
    align-items: baseline;
    justify-content: center;
    font-weight: 400;
    margin-top: 1rem;
    font-size: 1.125rem
}

.buy-button-price {
    margin-left: .5rem;
    font-size: .875em
}

.page-login {
    height: 100%
}

.page-login-body {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background-image: radial-gradient(circle, var(--surface4) 180px, var(--surface1))
}

.login-container {
    margin: auto;
    padding: 1.5rem 1.5rem 4rem;
    font-size: 1.25rem;
    max-width: 360px
}

.login-container .button, .login-container .uppy-Dashboard-browse {
    margin-top: 1rem
}

@media (max-width: 575.98px) {
    .login-container {
        max-width: none;
        padding: 1.5rem 8vw 4rem
    }

    .login-container .button, .login-container .uppy-Dashboard-browse {
        width: 100%
    }
}

.login-container h1 {
    margin-bottom: 2rem;
    font-weight: 200;
    font-size: 3rem
}

.form-loading {
    --spinner-size: 48px
}

.form-loading .login-container {
    transition: opacity 0.66s cubic-bezier(0.23, 1, 0.32, 1);
    opacity: .2;
    filter: blur(1px);
    pointer-events: none
}

.svg-file-bg {
    fill: var(--svg-file-bg)
}

.svg-file-flip {
    fill: var(--svg-file-flip)
}

.svg-file-icon {
    fill: var(--svg-file-icon)
}

.svg-file-ext {
    font-family: Menlo, 'Fira Mono', 'Cascadia Mono', 'Roboto Mono', 'Droid Sans Mono', 'DejaVu Sans Mono', 'Oxygen Mono', Consolas, 'Ubuntu Mono', Monaco, monospace;
    font-size: 12px;
    fill: white;
    fill-opacity: .9;
    text-transform: uppercase;
    text-anchor: middle;
    dominant-baseline: middle
}

.svg-folder-large {
    --svg-folder-bg: var(--svg-folder-bg-large);
    --svg-folder-fg: var(--svg-folder-fg-large)
}

.svg-folder-bg {
    fill: var(--svg-folder-bg)
}

.svg-folder-fg {
    fill: var(--svg-folder-fg)
}

.svg-folder-symlink {
    fill: var(--svg-folder-bg)
}

.svg-file-forbidden, .svg-folder-forbidden {
    fill: var(--color-danger)
}

.path-exclamation {
    fill: white;
    fill-opacity: .85
}

.svg-application {
    fill: var(--type-application)
}

.svg-archive {
    fill: var(--type-archive)
}

.svg-audio {
    fill: var(--type-audio)
}

.svg-cd {
    fill: var(--type-cd)
}

.svg-code {
    fill: var(--type-code)
}

.svg-default {
    fill: var(--type-default)
}

.svg-excel {
    fill: var(--type-excel)
}

.svg-font {
    fill: var(--type-font)
}

.svg-open_in_new {
    fill: var(--type-open_in_new)
}

.svg-pdf {
    fill: var(--type-pdf)
}

.svg-powerpoint {
    fill: var(--type-powerpoint)
}

.svg-text {
    fill: var(--type-text)
}

.svg-video {
    fill: var(--type-video)
}

.svg-word {
    fill: var(--type-word)
}

.svg-youtube {
    fill: var(--type-youtube)
}

.svg-vimeo {
    fill: var(--type-vimeo)
}

.svg-image, .polygon-image, .svg-panorama_variant {
    fill: var(--type-image)
}

.svg-image .svg-file-text-bg {
    fill: var(--svg-image-text-bg)
}

.circle-sun {
    fill: var(--svg-image-sun)
}

.files-icon-overlay {
    fill: var(--svg-file-flip)
}

.files-a-loaded .files-icon-overlay {
    fill: white;
    fill-opacity: .9
}

.files-a-loaded .files-icon-overlay .svg-path-gif {
    filter: drop-shadow(1px 1px 0 rgba(0, 0, 0, 0.2))
}

.svg-marker {
    transition: fill .2s
}

.map-link-icon {
    display: flex
}

.map-link-icon:hover {
    --svg-icon-fill: hsl(5, 70%, 57%)
}

[data-tooltip] {
    position: relative
}

[data-tooltip]:after {
    position: absolute;
    content: attr(data-tooltip);
    white-space: nowrap;
    pointer-events: none;
    z-index: var(--z-index-tooltip);
    padding: 8px;
    line-height: 1;
    border-radius: 3px;
    font-size: .75rem;
    font-weight: normal;
    text-transform: capitalize;
    top: calc(100% + 5px);
    right: var(--tooltip-right, 50%);
    transform: translateX(var(--tooltip-translateX, 50%));
    background-color: var(--surface1-dark);
    color: hsl(var(--hue), 20%, 98%);
    font-weight: 500;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s 0.15s
}

[data-tooltip]:hover:after {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) var(--tooltip-delay, 0s)
}

.tooltip-left, #topbar-top [data-tooltip]:last-child {
    --tooltip-right: 0;
    --tooltip-translateX: 0
}

.exif-item small, .exif-item:before {
    font-size: .8em;
    opacity: .8;
    line-height: 1
}

.exif-Model {
    --svg-icon-margin: 0 5px 0 -2px
}

.exif-ISOSpeedRatings:before {
    margin-right: 1px;
    content: 'ISO'
}

.exif-FocalLength small {
    margin-left: 1px
}

.exif-ApertureFNumber::first-letter {
    font-style: italic
}

.updating, .updated {
    overflow: hidden
}

.updating:after, .updated:after {
    content: '';
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 99998;
    position: absolute;
    animation: opacity .5s forwards
}

.updating:before, .updated:before {
    color: var(--text1-dark);
    position: absolute;
    z-index: 99999
}

.updating {
    --spinner-size: 48px
}

.updated:before {
    content: attr(data-updated);
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translatey(-50%)
}

:root {
    --touch-callout: default
}

img, video, .files-li, .menu-li {
    -webkit-touch-callout: var(--touch-callout)
}

.no-transition * {
    transition-property: none !important
}

.no-transition-strict * {
    transition-property: none !important
}

.action-processing {
    pointer-events: none;
    transition: opacity .3s;
    opacity: .5
}

:root {
    --sidebar-width: calc(10vw + 180px);
    --sidebar-width-small: 85vw;
    --sidebar-width-hover: 480px
}

.menu-enabled #main {
    width: 100%
}

@media (min-width: 992px) {
    .menu-enabled #main {
        width: calc(100% - var(--sidebar-width));
        transform: translateX(var(--sidebar-width));
        transition: transform .3s cubic-bezier(0.4, 0.5, 0, 1), width 0s .3s
    }

    .menu-enabled.sidebar-closed #main {
        width: 100%;
        transition: transform .3s cubic-bezier(0.4, 0.5, 0, 1), width 0s 0s;
        transform: translateX(0)
    }

    .menu-enabled:not(.sidebar-closed) #topbar {
        margin-left: -1px
    }
}

#sidebar, #sidebar-bg {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%
}

#sidebar {
    z-index: var(--z-index-sidebar)
}

.svg-path-menu {
    display: none
}

@media (min-width: 992px) {
    .svg-path-menu_back {
        display: inline;
        transform-origin: center
    }
}

.sidebar-closed #sidebar {
    width: 0
}

.sidebar-closed .svg-path-menu {
    display: inline
}

.sidebar-closed .svg-path-menu_back {
    display: none
}

.sidebar-closed #sidebar-inner {
    transform: translateX(-100%)
}

@media screen and (hover: hover) and (pointer: fine) and (min-width: 992px) {
    .sidebar-closed #sidebar {
        width: 5px
    }

    .sidebar-closed #sidebar-inner {
        transition-delay: .3s;
        width: var(--sidebar-width-hover)
    }

    .sidebar-closed #sidebar-bg {
        transition: opacity .3s .3s, visibility 0s .6s
    }

    .sidebar-closed .svg-path-menu_back {
        transform: scaleX(-1)
    }

    .sidebar-closed #sidebar-toggle:hover .svg-path-menu {
        display: none
    }

    .sidebar-closed #sidebar-toggle:hover .svg-path-menu_back {
        display: inline
    }

    .sidebar-closed #sidebar:hover #sidebar-inner {
        transform: translateX(0);
        transition-delay: 0s
    }

    .sidebar-closed #sidebar:hover + #sidebar-bg {
        transition-delay: 0s;
        visibility: visible;
        opacity: 1
    }
}

@media (max-width: 991.98px) {
    .sidebar-closed #sidebar-bg {
        transition: opacity .3s, visibility 0s .3s;
        visibility: hidden;
        opacity: 0
    }
}

.sidebar-closed .sidebar-clicked {
    pointer-events: none
}

.sidebar-closed .sidebar-clicked #sidebar-inner {
    transition-delay: 0s
}

.sidebar-closed .sidebar-clicked + #sidebar-bg {
    transition-delay: 0s, .3s
}

#sidebar-bg {
    width: 100%;
    background-color: var(--modal-bg);
    will-change: opacity;
    z-index: var(--z-index-sidebar-bg)
}

@media (max-width: 991.98px) {
    #sidebar-bg {
        transition: opacity .3s, visibility 0s;
        visibility: visible;
        opacity: 1
    }
}

@media (min-width: 992px) {
    #sidebar-bg {
        pointer-events: none;
        transition: opacity .3s, visibility 0s .3s;
        visibility: hidden;
        opacity: 0
    }
}

#sidebar-inner {
    width: var(--sidebar-width-small);
    height: 100%;
    transition: transform .3s cubic-bezier(0.4, 0.5, 0, 1)
}

@media (min-width: 992px) {
    #sidebar-inner {
        transition: transform .3s cubic-bezier(0.4, 0.5, 0, 1), width .3s cubic-bezier(0.4, 0.5, 0, 1);
        width: var(--sidebar-width)
    }
}

#sidebar-menu {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto
}

.svg-path-plus, .svg-path-minus, .svg-path-folder_plus, .svg-path-folder_minus {
    transition-property: transform, fill-opacity;
    transition-duration: .25s;
    transition-timing-function: cubic-bezier(0.4, 0.5, 0, 1);
    transform-origin: center
}

.svg-path-minus, .svg-path-folder_minus {
    fill-opacity: var(--minus-opacity, 0);
    transform: rotate(var(--minus-rotation, -90deg))
}

.svg-path-plus, .svg-path-folder_plus {
    fill-opacity: var(--plus-opacity, 1);
    transform: rotate(var(--plus-rotation, 0deg))
}

#menu-toggle.is-expanded, .menu-li-open > .menu-a {
    --minus-rotation: 0deg;
    --plus-rotation: 90deg;
    --minus-opacity: 1;
    --plus-opacity: 0
}

@media (hover: hover) {
    #menu-toggle.is-expanded:active, .menu-li-open > .menu-a .menu-icon-toggle:active, .menu-li-open > .menu-a .menu-icon-folder-toggle:active, .menu-li-open > .menu-active:active {
        --minus-opacity: 0;
        --plus-opacity: 1;
        --minus-rotation: -45deg;
        --plus-rotation: 45deg
    }
}

#sidebar-toggle {
    position: absolute;
    z-index: var(--z-index-sidebar-toggle);
    top: 10px;
    --button-padding: 7px;
    --button-border-radius: 0 3px 3px 0;
    background-color: var(--primary);
    color: white
}

#sidebar-inner {
    display: flex;
    flex-direction: column
}

#sidebar-topbar {
    padding: 10px 0 10px 46px;
    border-bottom: 1px solid var(--surface1);
    min-height: 58px;
    background-color: var(--surface3)
}

@media (min-width: 992px) {
    #sidebar-topbar {
        transition: background-color .3s
    }

    :root:not(.sidebar-closed) #sidebar-topbar {
        background-color: var(--surface4)
    }
}

#menu-toggle {
    --button-padding: 7px
}

#sidebar-menu {
    flex: 1;
    outline: none;
    background-color: var(--surface3);
    position: relative;
    overflow-y: overlay;
    --webkit-scrollbar-width: 4px
}

.sidebar-closed #sidebar-menu {
    background-color: var(--surface3)
}

@media (min-width: 992px) {
    #sidebar-menu {
        transition: background-color 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
        background-color: var(--surface1);
        background-image: linear-gradient(var(--surface3), transparent)
    }
}

@media (max-width: 991.98px) {
    #sidebar-menu {
        overscroll-behavior-y: contain
    }
}

.sidebar-closed #sidebar-menu {
    overscroll-behavior-y: contain
}

#sidebar-menu:not(:hover) {
    --scrollbar-color: transparent
}

.sidebar-spinner {
    --spinner-margin: 1rem 10px 0 7px
}

.menu-root, .menu-ul {
    margin: 0;
    list-style: none
}

.menu-root {
    padding: 1rem 0 3rem
}

.menu-ul {
    padding: 0;
    overflow: hidden;
    height: 0px;
    opacity: 0;
    display: none
}

[data-theme="light"] {
    --menu-surface-hover-lightness: 30%;
    --menu-icon-folder-fill-opacity: 1
}

[data-theme="contrast"], [data-theme="dark"] {
    --menu-surface-hover-lightness: 70%;
    --menu-icon-folder-fill-opacity: .9
}

.menu-a {
    opacity: .9;
    background-color: var(--menu-surface, initial);
    --menu-surface-hover: rgba(var(--rgb-theme-invert), .05);
    --menu-surface-active: var(--menu-surface-hover);
    --menu-color: var(--text1);
    --menu-text-indent: 6px;
    --menu-line-height: 28px;
    --menu-folder-icon-size: 18px;
    --menu-border-color: var(--primary);
    color: var(--menu-color);
    font-size: 1rem;
    line-height: var(--menu-line-height);
    padding-left: calc((38px - var(--menu-folder-icon-size)) / 2 + (var(--menu-folder-icon-size) + var(--menu-text-indent) - 1px) * var(--depth));
    display: block;
    touch-action: manipulation;
    transition-property: color, box-shadow, opacity, background-color;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1)
}

@supports (background-color: HSL(50 50% 50%/50%)) {
    .menu-a {
        --menu-surface-hover: hsl(var(--hue) 60% var(--menu-surface-hover-lightness) / 7%);
        --menu-surface-active: hsl(var(--hsl-primary) / 16%)
    }
}

@media (pointer: fine) {
    .menu-a {
        font-size: .875rem;
        --menu-line-height: 24px
    }
}

.menu-a:focus-visible {
    background-color: var(--menu-surface-hover);
    outline-color: var(--primary);
    outline-offset: -1px
}

.menu-li-open > .menu-ul {
    height: auto;
    opacity: 1;
    display: block
}

.menu-active, .menu-li-closed:has(.menu-active) > .menu-a {
    --menu-surface: var(--surface1)
}

.menu-active {
    opacity: 1;
    box-shadow: inset 2px 0 0 var(--menu-border-color);
    --menu-icon-folder-fill: var(--primary);
    --menu-icon-folder-fill-opacity: 1
}

.menu-a-forbidden {
    cursor: not-allowed;
    --menu-icon-folder-fill: var(--color-danger-light) !important;
    --menu-surface-active: hsl(var(--hsl-danger) / 16%);
    --menu-border-color: var(--color-danger)
}

.menu-icon {
    width: 1em;
    height: 1em;
    vertical-align: bottom
}

.menu-icon-folder {
    transition-property: fill, fill-opacity, transform;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    font-size: var(--menu-folder-icon-size);
    fill: var(--menu-icon-folder-fill, var(--text2));
    fill-opacity: var(--menu-icon-folder-fill-opacity);
    margin: 0 var(--menu-text-indent) calc((var(--menu-line-height) - var(--menu-folder-icon-size)) / 2) 0
}

.menu-icon-folder:not(.menu-icon-folder-toggle) {
    pointer-events: none
}

.menu-icon-folder-toggle {
    will-change: fill, fill-opacity, transform
}

.menu-icon-folder-toggle:hover {
    --menu-icon-folder-fill: var(--primary)
}

.svg-path-folder_plus, .svg-path-folder_minus {
    fill: var(--menu-icon-folder-fill, var(--menu-color));
    transition-property: transform, fill-opacity, fill
}

.menu-icon-toggle {
    float: right;
    font-size: var(--menu-line-height);
    --button-padding: calc((var(--menu-line-height) - 24px) / 2);
    --button-box-shadow-active: none;
    will-change: opacity, fill, transform, background-color;
    fill: var(--menu-color)
}

@media (hover: hover) {
    .menu-a {
        transition-property: color, box-shadow
    }

    .menu-a:focus, .menu-a:active, .menu-a.cm-active {
        transition-property: color, box-shadow, opacity, background-color
    }

    .menu-a:hover {
        opacity: 1;
        background-color: var(--menu-surface-hover);
        --menu-icon-folder-fill-opacity: 1
    }

    .menu-a:active {
        background-color: var(--menu-surface-active);
        --menu-color: var(--text1);
        box-shadow: inset 3px 0 0 var(--menu-border-color);
        --menu-icon-folder-fill: var(--primary);
        --menu-icon-folder-fill-opacity: 1;
        opacity: 1
    }

    .menu-active:active .menu-icon-toggle {
        background-color: var(--primary);
        fill: white
    }

    .menu-icon-toggle:active, .menu-icon-folder-toggle:active {
        transform: scale(0.95)
    }

    #sidebar:not(:hover) {
        --toggle-opacity: 0;
        --toggle-transition-delay: .3s
    }

    #menu-toggle, .menu-icon-toggle {
        opacity: var(--toggle-opacity, 1);
        transition-delay: var(--toggle-transition-delay, 0s)
    }
}

.menu-a.cm-active {
    background-color: var(--menu-surface-active);
    --menu-color: var(--text1);
    box-shadow: inset 3px 0 0 var(--menu-border-color);
    --menu-icon-folder-fill: var(--primary);
    --menu-icon-folder-fill-opacity: 1;
    opacity: 1
}

.menu-spinner {
    opacity: 1;
    --spinner-size: var(--menu-folder-icon-size);
    --spinner-margin: calc((var(--menu-line-height) - var(--menu-folder-icon-size)) / 2) 0 0 0;
    --menu-icon-folder-fill: transparent
}

#topbar {
    z-index: var(--z-index-topbar)
}

.topbar-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0
}

.headroom {
    will-change: transform, opacity;
    transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.2s
}

.headroom--unpinned {
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none
}

#topbar-top {
    border-bottom: 1px solid var(--surface1);
    padding: 10px;
    display: flex;
    min-height: 58px;
    background-color: var(--surface4);
    --button-margin: -3px 0 -3px 1px;
    --tooltip-delay: .3s
}

@media (min-width: 768px) {
    #topbar-top {
        padding-left: 1rem
    }
}

.menu-enabled #topbar-top {
    padding-left: 48px
}

@media (min-width: 992px) {
    .menu-enabled #topbar-top {
        padding-left: 6px
    }
}

.menu-enabled.sidebar-closed #topbar-top {
    padding-left: 48px
}

#change-sort {
    margin-right: auto
}

#search-container {
    position: relative;
    margin-right: .5rem;
    min-width: 0;
    display: flex;
    flex-direction: column;
    --filter-padding-right: 5px
}

@media (min-width: 576px) {
    #search-container {
        --filter-reset-display: block;
        --filter-padding-right: 32px
    }
}

@media (max-width: 767.98px) {
    #search-container {
        flex-grow: 1
    }
}

@media (min-width: 768px) {
    #search-container {
        min-width: 200px
    }

    #search-container:after {
        content: attr(data-input);
        padding: 0 calc(var(--filter-padding-right) + 4px) 0 40px;
        height: 0;
        overflow: hidden;
        visibility: hidden
    }
}

#search {
    padding: 0 var(--filter-padding-right) 0 40px;
    --spacing: 0;
    flex-grow: 1
}

#search::placeholder {
    opacity: 1;
    transition: 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    text-transform: capitalize
}

#search:placeholder-shown:hover::placeholder {
    color: var(--text2)
}

#search:placeholder-shown:not(:hover):not(:focus) + .filter-search-icon {
    fill: var(--text2)
}

.filter-match #search:not(:placeholder-shown), .filter-nomatch #search:not(:placeholder-shown) {
    --input-box-shadow: var(--input-box-shadow-active);
    --input-active-box-shadow-alpha: 50%
}

@supports not (-moz-appearance: none) {
    #search:focus + .filter-search-icon {
        transform: scale(1.125)
    }
}

#search:focus::placeholder {
    opacity: 0
}

@media (max-width: 575.98px) {
    #search:not(:placeholder-shown) {
        padding: 0 12px
    }

    #search:not(:placeholder-shown) + .filter-search-icon {
        opacity: 0
    }
}

#search:placeholder-shown ~ .filter-reset, #search:not(:focus):not(:hover) ~ .filter-reset:not(:hover) {
    opacity: 0;
    pointer-events: none
}

#search:disabled {
    opacity: .5
}

#search:disabled + .filter-search-icon {
    opacity: .5
}

.filter-match {
    --input-active-hsl: var(--hsl-success);
    --button-hsl: var(--hsl-success)
}

.filter-nomatch {
    --input-active-hsl: var(--hsl-danger);
    --button-hsl: var(--hsl-danger)
}

.filter-search-icon, .filter-reset {
    position: absolute
}

.filter-search-icon {
    transition: 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    top: 7px;
    left: 10px;
    will-change: transform, opacity, fill
}

.filter-reset {
    display: var(--filter-reset-display, none);
    right: 0;
    --button-margin: 4px;
    --button-padding: 3px
}

#change-theme:focus {
    transition-property: all
}

.svg-path-theme_contrast, .svg-path-theme_light, .svg-path-theme_dark {
    transform-origin: center;
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), fill-opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important
}

.svg-path-theme_contrast {
    fill-opacity: var(--theme-contrast-opacity, 0);
    transform: rotate(var(--theme-contrast-rotate, -45deg))
}

[data-theme="contrast"] {
    --theme-contrast-opacity: 1;
    --theme-contrast-rotate: 0deg
}

.svg-path-theme_light {
    fill-opacity: var(--theme-light-opacity, 0);
    transform: rotate(var(--theme-light-rotate, -45deg))
}

[data-theme="light"], .modal-codemirror-theme-light {
    --theme-light-opacity: 1;
    --theme-light-rotate: 0deg
}

.svg-path-theme_dark {
    fill-opacity: var(--theme-dark-opacity, 0);
    transform: rotate(var(--theme-dark-rotate, -45deg))
}

[data-theme="dark"], .modal-codemirror-theme-dark {
    --theme-dark-opacity: 1;
    --theme-dark-rotate: 0deg
}

.dropdown {
    position: relative
}

.dropdown-menu-topbar {
    display: none;
    position: absolute;
    z-index: 1;
    min-width: 200px;
    margin-top: 1rem;
    transform: translateY(-2px) translateX(50%);
    right: calc(50% - var(--offset, 0px));
    --nub-left: calc(50% - var(--offset, 0px));
    visibility: hidden;
    opacity: 0;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    transition: visibility 0s .2s, opacity .2s, transform .2s
}

.mouse-hover .dropdown-menu-topbar {
    transition: visibility 0s .4s, opacity .2s .2s, transform 0s .4s
}

.touch-open .dropdown-menu-topbar, .mouse-hover:hover .dropdown-menu-topbar {
    z-index: var(--z-index-dropdown-open);
    transition: visibility 0s, opacity .2s, transform .2s;
    visibility: visible;
    opacity: 1;
    transform: translateY(0) translateX(50%)
}

.mouse-hover:hover .dropdown-menu-topbar {
    transition-delay: .2s
}

.dropdown-menu-topbar .dropdown-header {
    text-transform: uppercase
}

.dropdown-item-sort .svg-icon-sort {
    order: 2;
    --svg-icon-margin: 0 0 0 auto
}

.dropdown-item-sort .svg-path-sort_name_desc, .dropdown-item-sort .svg-path-sort_kind_desc, .dropdown-item-sort .svg-path-sort_size_asc, .dropdown-item-sort .svg-path-sort_date_asc {
    display: none
}

.sort-asc .svg-path-sort_size_asc, .sort-asc .svg-path-sort_date_asc {
    display: block
}

.sort-asc .svg-path-sort_size_desc, .sort-asc .svg-path-sort_date_desc {
    display: none
}

.sort-desc .svg-path-sort_name_desc, .sort-desc .svg-path-sort_kind_desc {
    display: block
}

.sort-desc .svg-path-sort_name_asc, .sort-desc .svg-path-sort_kind_asc {
    display: none
}

.svg-path-sort_size_asc {
    transform-origin: center;
    transform: scaleY(-1)
}

#layout-options {
    padding: 1em var(--dropdown-item-padding-x) 0.5em;
    border-top: 1px solid var(--dropdown-divider-color);
    margin-top: .5em
}

#layout-options .checkbox-label {
    margin-top: .25em
}

#layout-options .checkbox {
    font-size: 18px
}

#layout-options label {
    transition: color .2s
}

#layout-options > *:not(:hover) {
    color: hsl(var(--hue), 20%, 88%)
}

.layout-range-label {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.layout-label-type {
    font-size: .7em;
    background-color: var(--dropdown-divider-color);
    padding: .3em .6em;
    border-radius: 3px;
    z-index: 1
}

.layout-aspect-ratio {
    font-family: var(--font-family-monospace);
    letter-spacing: -1px
}

.form-range {
    width: 100%;
    height: 1.25rem;
    background: none;
    outline: none;
    z-index: 1;
    position: relative;
    --range-border-color: hsl(var(--hue), 20%, 28%);
    --range-thumb-color: hsl(var(--hue), 20%, 50%)
}

.form-range::-webkit-slider-runnable-track {
    width: 100%;
    height: .25rem;
    border-radius: 2px;
    background-color: var(--range-border-color);
    transition: .2s
}

.form-range::-moz-range-track {
    width: 100%;
    height: .25rem;
    border-radius: 2px;
    background-color: var(--range-border-color);
    transition: .2s
}

.form-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: -.5rem;
    border: 1px solid var(--dropdown-surface);
    box-shadow: 0 0 15px -5px black;
    box-sizing: border-box;
    border-radius: 50%;
    background-color: var(--range-thumb-color);
    cursor: pointer;
    transition: .2s;
    transform: scale(var(--range-thumb-scale, 1))
}

.form-range::-moz-range-thumb {
    -webkit-appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: -.5rem;
    border: 1px solid var(--dropdown-surface);
    box-shadow: 0 0 15px -5px black;
    box-sizing: border-box;
    border-radius: 50%;
    background-color: var(--range-thumb-color);
    cursor: pointer;
    transition: .2s;
    transform: scale(var(--range-thumb-scale, 1))
}

.form-range:hover {
    --range-border-color: hsl(var(--hue), 20%, 34%);
    --range-thumb-color: hsl(var(--hue), 20%, 70%)
}

.form-range:active, .form-range:focus-visible {
    --range-thumb-color: var(--primary);
    --range-thumb-scale: 1.25
}

.form-range:before {
    content: '';
    transition: .2s;
    width: 6px;
    height: 6px;
    background-color: var(--range-border-color);
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    margin-top: 6px;
    left: calc(var(--range-default-pos, .5) * 100% - var(--range-default-pos, .5) * 1rem + 1rem / 2 - 6px / 2)
}

.dropdown-lang-loading {
    --spinner-size: 48px;
    --spinner-margin: -5px 0 0 -1px;
    cursor: not-allowed
}

.dropdown-lang-loading .dropdown-item-lang {
    opacity: .7;
    pointer-events: none
}

.button-lang:after {
    line-height: 24px;
    content: attr(data-text);
    text-transform: uppercase;
    width: 24px;
    display: block;
    font-family: var(--font-family-monospace);
    font-weight: bold
}

.dropdown-lang-items {
    padding: 8px 16px;
    display: grid;
    grid-gap: 12px;
    grid-template-columns:1fr 1fr 1fr 1fr 1fr
}

.dropdown-item-lang {
    padding: 18px;
    border-radius: 50%;
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center
}

.dropdown-item-lang:after {
    transition: .2s;
    font-size: 10px;
    line-height: 1;
    width: 20px;
    padding: 5px 0;
    content: attr(data-action);
    position: absolute;
    z-index: 1;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
    top: -5px;
    left: -5px;
    color: white;
    background-color: var(--surface1-dark);
    border-radius: inherit
}

.dropdown-item-lang:hover, .dropdown-item-lang.dropdown-lang-active {
    box-shadow: 0 0 0 3px var(--text1-dark)
}

.dropdown-item-lang:active {
    transform: scale(1.1)
}

.dropdown-item-lang:active, .dropdown-item-lang:focus {
    transition: .2s
}

#topbar-breadcrumbs {
    line-height: 24px;
    background-color: var(--surface3);
    padding: .5rem .5rem .5rem 39px;
    border-bottom: 1px solid var(--surface1);
    font-size: 14px
}

@media (min-width: 768px) {
    #topbar-breadcrumbs {
        padding: .5rem .5rem .5rem 48px
    }
}

.breadcrumbs-info {
    color: var(--text2);
    float: right;
    font-size: 14px;
    margin: 0 10px 0 20px;
    animation: opacity .2s forwards
}

@media (max-width: 767.98px) {
    .breadcrumbs-info {
        display: none
    }
}

.breadcrumbs-info:empty {
    display: none
}

.breadcrumbs-info-type {
    display: inline-block
}

.breadcrumbs-info-size {
    margin-left: .4em
}

.breadcrumbs-info-size:before {
    margin-right: .4em;
    content: '·'
}

#breadcrumbs {
    display: flex;
    flex-wrap: wrap
}

.crumb:not(:first-child):before {
    content: '/';
    opacity: .5
}

.crumb:first-child {
    margin-left: -40px
}

.crumb-link {
    padding: 0 8px
}

@media (hover: hover) {
    .crumb-link:hover {
        text-decoration: underline
    }
}

#folder-actions {
    float: right;
    --button-margin: -8px 4px 0 0;
    --button-padding: 8px;
    animation: opacity .2s forwards
}

#files-sortbar {
    font-size: .875rem;
    line-height: 24px;
    background-color: var(--surface2);
    border-bottom: 1px solid var(--surface1);
    display: none
}

@media (min-width: 768px) {
    #files-sortbar {
        display: var(--sortbar-display, none)
    }
}

.sortbar-list, .sortbar-imagelist {
    --sortbar-display: block
}

.sortbar-inner {
    display: flex;
    max-width: calc(var(--list-max) - 20px)
}

.sortbar-item {
    display: flex;
    align-items: center;
    overflow: hidden;
    flex-shrink: 0;
    padding-top: 4px;
    padding-bottom: 4px;
    touch-action: manipulation;
    cursor: pointer;
    transition: .2s;
    --svg-icon-margin: 0 0 0 3px;
    --svg-icon-font-size: 18px;
    box-shadow: inset -1px 0 0 var(--surface1)
}

.sortbar-item:not(:hover):not(.sortbar-active) {
    color: var(--text2)
}

.sortbar-item:hover {
    background-color: var(--surface3)
}

.sortbar-active {
    background-color: var(--surface3);
    font-weight: 500;
    letter-spacing: -.02ch
}

.sortbar-name {
    flex: 1;
    padding-left: 59px
}

.sortbar-kind {
    padding-left: 15px;
    padding-right: 5px
}

.sortbar-size {
    justify-content: flex-end;
    flex-basis: 100px;
    padding-right: 5px
}

.sortbar-date {
    --date-base: 165px;
    flex-basis: calc(var(--date-base) + var(--list-date-flex, 3) * 8px);
    padding-left: 10px;
    padding-right: 5px
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .sidebar-closed .sortbar-name {
        padding-left: 66px
    }

    .sidebar-closed .sortbar-kind {
        padding-right: 10px
    }

    .sidebar-closed .sortbar-size {
        flex-basis: 110px;
        padding-right: 10px
    }

    .sidebar-closed .sortbar-date {
        --date-base: 170px;
        padding-left: 15px
    }
}

@media (min-width: 1200px) {
    .sortbar-name {
        padding-left: 66px
    }

    .sortbar-kind {
        padding-right: 10px
    }

    .sortbar-size {
        flex-basis: 110px;
        padding-right: 10px
    }

    .sortbar-date {
        --date-base: 170px;
        padding-left: 15px
    }
}

.sortbar-list {
    padding: 0 20px 0 0
}

.sortbar-imagelist .sortbar-name {
    padding-left: 115px
}

.sortbar-imagelist .sortbar-date {
    --date-base: 170px;
    flex-basis: calc(var(--date-base) + var(--list-date-flex, 3) * 9px)
}

@media (min-width: 992px) {
    .sortbar-imagelist {
        padding: 0 20px 0 0
    }

    .sortbar-imagelist .sortbar-name {
        padding-left: 135px
    }

    .sidebar-closed .sortbar-imagelist .sortbar-date {
        --date-base: 175px
    }
}

@media (min-width: 1200px) {
    .sortbar-imagelist .sortbar-date {
        --date-base: 175px
    }
}

.svg-icon-sort path {
    transition: fill-opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), transform 0.3s cubic-bezier(0.23, 1, 0.32, 1)
}

.svg-icon-sort .svg-path-chevron_up {
    fill-opacity: var(--up, 0);
    transform: translateY(var(--upy, -4px))
}

.svg-icon-sort .svg-path-chevron_down {
    fill-opacity: var(--down, 0);
    transform: translateY(var(--downy, 4px))
}

.sortbar-item:hover, .dropdown-item-sort:hover {
    --up: 1;
    --down: 1;
    --upy: -5px;
    --downy: 5px
}

.sortbar-name:not(.sortbar-active):active, .sortbar-kind:not(.sortbar-active):active {
    --down: .3
}

.sortbar-size:not(.sortbar-active):active, .sortbar-date:not(.sortbar-active):active {
    --up: .3
}

.sort-asc {
    --upy: 0;
    --up: 1;
    --down: 0
}

.sort-asc:hover:not(:active) {
    --upy: 0;
    --down: 0
}

.sort-asc:active {
    --up: .3
}

.sort-desc {
    --downy: 0;
    --up: 0;
    --down: 1
}

.sort-desc:hover:not(:active) {
    --downy: 0;
    --up: 0
}

.sort-desc:active {
    --down: .3
}

#topbar-info {
    display: flex;
    align-items: flex-start;
    color: rgba(255, 255, 255, 0.9);
    line-height: 24px;
    background-color: var(--topbar-info-surface);
    padding: .5rem .5rem .5rem 7px;
    font-size: 14px;
    animation: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1)
}

#topbar-info:empty {
    display: none
}

@media (min-width: 768px) {
    #topbar-info {
        padding: .5rem .5rem .5rem 1rem
    }
}

#topbar-info > .svg-icon:first-child {
    margin-right: .5rem
}

.info-hidden {
    display: none !important
}

.info-warning, .info-error {
    word-break: break-all
}

.info-warning [data-lang], .info-error [data-lang] {
    flex-shrink: 0
}

.info-warning {
    --topbar-info-surface: var(--color-info)
}

.info-search {
    --topbar-info-surface: var(--color-success)
}

.info-error, .info-nomatch {
    --topbar-info-surface: var(--color-danger)
}

.info-search-count, .info-search-phrase {
    background-color: rgba(0, 0, 0, 0.15);
    border-radius: 3px
}

.info-search-count {
    flex-shrink: 0;
    min-width: 24px;
    text-align: center;
    padding: 0 .4375em
}

.info-search-lang {
    flex-shrink: 0;
    margin: 0 .4375em
}

.info-search-phrase {
    line-height: 18px;
    padding: 3px .4375em;
    word-break: break-word
}

@media (max-width: 767.98px) {
    .info-search-phrase {
        word-break: break-all;
        margin-right: auto
    }
}

@supports (-webkit-line-clamp: 3) {
    .info-search-phrase {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden
    }
}

.info-search-reset {
    flex-shrink: 0;
    --button-padding: 6px;
    --button-margin: -6px 6px -6px 1px;
    --button-surface: rgba(0, 0, 0, .15);
    --button-box-shadow-active: inset 0 0 0 50px rgba(0, 0, 0, .1), 0 0 0 3px rgba(0, 0, 0, .075)
}

@keyframes opacity {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

#main {
    display: flex;
    flex-direction: column;
    min-width: 320px
}

@supports (min-height: 100svh) {
    #main {
        min-height: 100 svh;
        min-height: 100 dvh
    }
}

#files-container {
    flex-grow: 1;
    position: relative
}

#files {
    position: relative;
    z-index: 1
}

#files:empty {
    display: none
}

.files-spinner {
    --spinner-size: 48px
}

.files-a {
    display: block;
    position: relative;
    touch-action: manipulation;
    overflow: hidden;
    color: var(--text3);
    --button-icon-color: var(--text2);
    background-color: var(--surface2);
    box-shadow: var(--box-shadow, none);
    transition: background-color 0.3s, box-shadow 0.3s, transform 0.3s var(--scale-delay, 0s);
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1)
}

.files-a:hover {
    background-color: var(--surface-active)
}

@media (hover: hover) {
    .files-a:active {
        background-color: var(--surface-active);
        outline: none;
        box-shadow: var(--box-shadow-active, none)
    }

    .files-a.cm-active:active, .files-a:has(.files-context:active) {
        box-shadow: 0 0 0 2px var(--surface-active), 0 0 0 3px var(--text2)
    }

    .files-a:active:not(:has(.files-context:active)):not(.cm-active) {
        --surface-active: var(--surface4);
        transform: var(--active-scale, none)
    }

    .files-a:active:not(:has(.files-context:active)):not(.cm-active) .svg-file-ext {
        fill-opacity: .99
    }
}

.files-a.cm-active {
    background-color: var(--surface-active);
    box-shadow: 0 0 0 3px var(--surface-active), 0 0 0 4px var(--text2);
    z-index: 1;
    outline: 1px dashed var(--text2);
    outline-offset: 6px
}

.files-a:focus {
    z-index: 2
}

@media (hover: none) {
    .files-a:hover {
        z-index: 2
    }
}

.files-a:focus-visible {
    outline-color: var(--text3);
    outline-offset: 2px
}

@media (hover: hover) {
    .files-svg {
        transition: 0.3s cubic-bezier(0.23, 1, 0.32, 1)
    }

    .files-a-svg:active .files-svg, .cm-active .files-svg {
        filter: var(--files-svg-active-filter, none)
    }
}

.files-img, .files-svg {
    aspect-ratio: var(--ratio, 1);
    display: block;
    width: 100%;
    height: 100%
}

.files-img {
    object-fit: var(--img-object-fit-ui, cover)
}

.files-img-svg {
    object-fit: contain
}

.files-img-ico {
    object-fit: scale-down
}

.svg-file {
    padding: var(--svg-file-padding)
}

.svg-folder-large {
    padding: var(--svg-folder-padding)
}

.files-img-placeholder {
    background-size: var(--img-placeholder-size, 50%);
    background-position: center;
    background-position-y: var(--img-placeholder-position-y, 50%);
    background-repeat: no-repeat
}

.files-img-placeholder:not(.files-lazy) {
    background-image: var(--img-placeholder-bg);
    transition: opacity .3s
}

@supports not (aspect-ratio: 1) {
    .files-img-placeholder {
        min-height: var(--img-placeholder-min-height, auto)
    }
}

.files-folder-preview {
    position: absolute;
    box-shadow: 0 2px 10px -5px black;
    object-position: var(--img-object-position, 50% 25%);
    object-fit: cover;
    opacity: 0;
    transition: opacity .2s;
    width: var(--folder-preview-width, 44%);
    left: var(--folder-preview-left, 50%);
    top: var(--folder-preview-top, calc(50% - 10px));
    transform: translateX(-50%) translateY(var(--folder-preview-translateY, -25%))
}

@supports (aspect-ratio: 1) {
    .files-folder-preview {
        aspect-ratio: 1;
        max-height: var(--folder-preview-max-height, none)
    }
}

@supports not (aspect-ratio: 1) {
    .files-folder-preview {
        height: var(--folder-preview-width, 44%)
    }
}

.svg-overlay-play {
    padding: 1px;
    fill: white;
    position: absolute;
    z-index: 1;
    border-radius: 3px;
    font-size: 26px;
    left: var(--svg-play-left, calc(50% - 26px / 2));
    top: calc(50% - 26px / 2);
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1), top 0s, left 0s, margin 0s;
    background-color: var(--overlay-play-surface, rgba(0, 0, 0, 0.3));
    opacity: 0
}

.files-a-loaded .svg-overlay-play {
    opacity: 1
}

.files-a-img:hover .svg-overlay-play {
    --overlay-play-surface: var(--type-color);
    transform: scale(1.1)
}

@media (hover: hover) {
    .files-a-img:active .svg-overlay-play {
        transform: scale(1.2);
        box-shadow: 0 1px 5px -2px black
    }
}

.svg-overlay-play-embed {
    --overlay-play-surface: var(--type-color)
}

.files-icon-overlay {
    top: 0;
    position: absolute;
    z-index: 1;
    margin: calc(var(--button-padding, 0px) + var(--button-margin, 0px))
}

@media (hover: hover) {
    .files-a-loaded .files-icon-overlay {
        transition: opacity 0.25s cubic-bezier(0.215, 0.61, 0.355, 1)
    }

    .files-a-loaded:active:not(:has(.files-context:active)) .files-icon-overlay {
        opacity: 0
    }
}

.files-context {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0
}

@media (hover: hover) {
    .files-context {
        --svg-icon-font-size: 18px;
        padding: calc(var(--button-padding) + 3px)
    }
}

.files-context.cm-active {
    --button-hsl: var(--hue) 20% 30%
}

.files-a:hover .files-context, .files-context.cm-active {
    opacity: 1
}

@media (hover: hover) {
    .files-a-loaded:active .files-context:not(:active) {
        opacity: 0
    }
}

.name {
    color: var(--text1)
}

.title {
    color: var(--text2)
}

.size, .dimensions, .exif, .date {
    white-space: nowrap
}

.flex {
    display: none;
    flex-basis: 100%
}

.ext-inner {
    color: var(--text2);
    float: right;
    font-size: .6875rem;
    font-weight: 600;
    text-transform: uppercase;
    background-color: var(--surface3);
    box-shadow: inset 0 0 0 1px var(--text3);
    padding: .5em;
    line-height: 1;
    border-radius: 3px;
    max-width: 60px
}

.files-list .files-a {
    --surface-active: var(--surface-list-hover, var(--surface4));
    --box-shadow-active: 0 0 0 3px var(--surface-active), -5px 0 0 0 var(--type-color), 0 0 0 4px var(--surface1)
}

.files-list .files-a:not(:last-child) {
    margin-bottom: 1px
}

@media (min-width: 768px) {
    .files-list .files-a:active, .files-list .files-a.cm-active {
        border-radius: 3px
    }
}

@media (hover: hover) {
    .files-list .files-a:hover {
        --box-shadow: 0 0 0 0 var(--surface-list-hover), -2px 0 0 0 var(--type-color)
    }

    .files-list .files-a:not(:active):not(:focus):not(.cm-active), .files-list .files-a .files-context:not(:hover) {
        transition-duration: 0s
    }
}

.files-list .files-data {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    line-height: 165%
}

.files-list .files-svg, .files-list .files-img, .files-list .title, .files-list .fileperms, .files-list .mime, .files-list .exif, .files-list .files-folder-preview, .files-list .files-icon-overlay, .files-list .svg-overlay-play {
    display: none
}

.files-list .icon {
    order: 1
}

.files-list .name {
    order: 2;
    flex: 1;
    padding-left: 7px
}

.files-list .gps {
    order: 3;
    margin-left: 5px
}

@media (max-width: 767.98px) {
    .files-list {
        --button-padding: 8px;
        --button-margin: 0 5px 0 0
    }
}

@media (max-width: 767.98px) and (pointer: fine) {
    .files-list {
        --button-padding: 3px;
        --button-margin: 5px
    }
}

@media (max-width: 767.98px) {
    .files-list .files-a:hover .ext {
        opacity: 0
    }

    .files-list .files-data {
        padding: 8px 8px 8px 10px;
        font-size: .9375rem
    }

    .files-list .name {
        font-size: 1rem
    }

    .files-list .ext {
        order: 4
    }

    .files-list .ext-inner {
        margin-left: 10px
    }

    .files-list .flex {
        order: 6;
        display: block
    }

    .files-list .date {
        order: 7;
        margin-left: 31px
    }

    .files-list .size {
        order: 8
    }

    .files-list .dimensions {
        order: 9
    }

    .files-list .size, .files-list .dimensions {
        border-left: 1px solid var(--divider-color, var(--border-color));
        margin-left: var(--divider-space, 0.8em);
        padding-left: var(--divider-space, 0.8em)
    }

    .files-list .dimensions {
        flex: 1;
        text-overflow: ellipsis;
        overflow: hidden
    }
}

@media (max-width: 389.98px) {
    .files-list .date {
        margin-left: 2px
    }
}

@media (max-width: 575.98px) {
    .files-list {
        --divider-space: .6em
    }

    .files-list .files-data {
        padding-left: 7px
    }
}

@media (min-width: 768px) {
    .files-list {
        --button-padding: 5px;
        padding: 20px
    }
}

@media (min-width: 768px) and (pointer: fine) {
    .files-list {
        --button-padding: 2px;
        --button-margin: 3px
    }
}

@media (min-width: 768px) {
    .files-list:before {
        border-radius: 3px 3px 0 0
    }

    .files-list:after {
        border-radius: 0 0 3px 3px
    }

    .files-list:before, .files-list:after {
        content: '';
        display: block;
        height: 10px;
        background-color: var(--surface3)
    }

    .files-list .files-data {
        padding: 6px 0 6px 8px
    }

    .files-list .size, .files-list .date {
        color: var(--text2)
    }

    .files-list .dimensions {
        order: 4;
        margin-left: .5rem
    }

    .files-list .ext {
        order: 5;
        flex-basis: 65px
    }

    .files-list .size {
        order: 6;
        font-weight: var(--font-weight-bold);
        margin-right: 20px;
        text-align: right;
        flex-basis: 100px
    }

    .files-list .date {
        order: 7;
        flex-basis: calc(155px + var(--list-date-flex, 3) * 8px)
    }
}

@media (min-width: 768px) and (hover: hover) {
    .files-list .files-data {
        padding: 5px 0 5px 8px;
        font-size: .9375rem
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .sidebar-closed .files-list:before, .sidebar-closed .files-list:after {
        height: 20px
    }

    .sidebar-closed .files-list .files-data {
        padding-left: 15px
    }

    .sidebar-closed .files-list .dimensions {
        margin-left: 1rem
    }

    .sidebar-closed .files-list .ext {
        flex-basis: 70px
    }

    .sidebar-closed .files-list .size {
        margin-right: 30px;
        flex-basis: 110px
    }
}

@media (min-width: 1200px) {
    .files-list:before, .files-list:after {
        height: 20px
    }

    .files-list .files-data {
        padding-left: 15px
    }

    .files-list .dimensions {
        margin-left: 1rem
    }

    .files-list .ext {
        flex-basis: 70px
    }

    .files-list .size {
        margin-right: 30px;
        flex-basis: 110px
    }
}

@media (min-width: 1600px) {
    #main {
        --list-max: var(--list-max-width, 1040px)
    }
}

@media (min-width: 1400px) {
    .sidebar-closed {
        --list-max: var(--list-max-width, 1040px)
    }
}

.files-list, .files-imagelist {
    max-width: var(--list-max, none)
}

.files-list .files-a:nth-child(odd):not(.cm-active):not(:hover), .files-imagelist .files-a:nth-child(odd):not(.cm-active):not(:hover) {
    background-color: var(--surface3)
}

.files-imagelist {
    --svg-play-left: calc(100px / 2 - 26px / 2);
    --folder-preview-width: 50px;
    --folder-preview-left: 50px;
    --folder-preview-top: 50%;
    --svg-file-padding: 12px;
    --svg-folder-padding: 6px;
    --img-placeholder-min-height: var(--imagelist-min-height, calc(100px / var(--ratio, 1)))
}

.files-imagelist .files-a {
    display: flex;
    margin-bottom: 1px;
    --surface-active: var(--surface4);
    --box-shadow: 0 0 0 var(--surface-imagelist-hover);
    --box-shadow-active: 0 0 0 3px var(--surface-active), 0 0 0 4px var(--surface1)
}

.files-imagelist .files-img, .files-imagelist .files-svg {
    width: 100px;
    flex-shrink: 0;
    box-shadow: inset -1px 0 0 0 var(--surface1)
}

.files-imagelist .files-svg {
    height: 100px
}

.files-imagelist .files-img {
    height: var(--imagelist-height, 100px);
    --img-object-fit: cover
}

.files-imagelist .files-data {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    flex: 1;
    align-content: flex-start;
    align-items: center;
    padding: 8px 8px 8px 12px;
    line-height: 165%
}

.files-imagelist .icon, .files-imagelist .fileperms, .files-imagelist .mime, .files-imagelist .gps, .files-imagelist .files-icon-overlay .svg-path-marker {
    display: none
}

.files-imagelist .name {
    order: 2;
    flex: 1;
    font-size: 1rem;
    padding-right: 1px
}

.files-imagelist .title, .files-imagelist .exif {
    flex-basis: 100%;
    font-size: .9375rem
}

.files-imagelist .title {
    order: 16
}

.files-imagelist .exif {
    order: 17;
    display: flex;
    --svg-icon-font-size: 18px
}

@media (max-width: 767.98px) {
    .files-imagelist {
        --button-padding: 8px;
        --button-margin: 0 5px 0 0
    }
}

@media (max-width: 767.98px) and (pointer: fine) {
    .files-imagelist {
        --button-padding: 3px;
        --button-margin: 5px
    }
}

@media (max-width: 767.98px) {
    .files-imagelist .files-a:hover .ext {
        opacity: 0
    }

    .files-imagelist .files-data {
        font-size: .9375rem
    }

    .files-imagelist .exif {
        display: none
    }

    .files-imagelist .title {
        order: 5
    }

    .files-imagelist .ext {
        order: 4
    }

    .files-imagelist .flex {
        order: 6;
        display: block
    }

    .files-imagelist .date {
        order: 7
    }

    .files-imagelist .size {
        order: 8
    }

    .files-imagelist .dimensions {
        order: 9;
        margin-right: -5px;
        flex: 1;
        text-overflow: ellipsis;
        overflow: hidden
    }

    .files-imagelist .size, .files-imagelist .dimensions {
        border-left: 1px solid var(--divider-color, var(--border-color));
        margin-left: var(--divider-space, 0.8em);
        padding-left: var(--divider-space, 0.8em)
    }
}

@media (max-width: 575.98px) {
    .files-imagelist {
        --divider-space: 3%
    }
}

@media (min-width: 768px) {
    .files-imagelist {
        --button-padding: 7px;
        --button-margin: 3px
    }
}

@media (min-width: 768px) and (pointer: fine) {
    .files-imagelist {
        --button-padding: 3px;
        --button-margin: 7px
    }
}

@media (min-width: 768px) {
    .files-imagelist .files-data {
        padding: 10px 0 10px 14px
    }

    .files-imagelist .size, .files-imagelist .date {
        color: var(--text2)
    }

    .files-imagelist .dimensions {
        order: 4;
        margin-left: .5rem
    }

    .files-imagelist .ext {
        order: 5;
        flex-basis: 65px
    }

    .files-imagelist .size {
        order: 6;
        font-weight: var(--font-weight-bold);
        margin-right: 20px;
        text-align: right;
        flex-basis: 100px
    }

    .files-imagelist .date {
        order: 7;
        flex-basis: calc(160px + var(--list-date-flex, 3) * 9px)
    }
}

@media (min-width: 992px) {
    .files-imagelist {
        padding: 20px
    }

    .files-imagelist .files-a {
        border-radius: 3px
    }

    .sidebar-closed .files-imagelist .ext {
        flex-basis: 70px
    }

    .sidebar-closed .files-imagelist .size {
        margin-right: 30px;
        flex-basis: 110px
    }
}

@media (min-width: 1200px) {
    .files-imagelist .ext {
        flex-basis: 70px
    }

    .files-imagelist .size {
        margin-right: 30px;
        flex-basis: 110px
    }
}

.files-blocks {
    --svg-play-left: calc(var(--blocks-height, 140px) / 2 - 26px / 2);
    --folder-preview-width: calc(var(--blocks-height, 140px) / 2);
    --folder-preview-left: calc(var(--blocks-height, 140px) / 2);
    --folder-preview-top: 50%;
    --svg-file-padding: calc(var(--blocks-height, 140px) / 8);
    --svg-folder-padding: calc(var(--blocks-height, 140px) / 14);
    --img-object-fit-ui: var(--img-object-fit);
    --button-padding: 9px;
    --button-margin: 1px
}

@media (pointer: fine) {
    .files-blocks {
        --button-padding: 3px;
        --button-margin: 7px
    }
}

.files-blocks .files-a {
    --box-shadow: 0 0 0 0 var(--surface-active);
    --box-shadow-active: 0 0 0 3px var(--surface-active);
    height: var(--blocks-height, 140px);
    display: flex;
    margin: var(--blocks-margin, 1px 0)
}

.files-blocks .files-a:hover .name {
    margin-right: 32px
}

.files-blocks .files-img, .files-blocks .files-svg {
    width: var(--blocks-height, 140px);
    flex-shrink: 0;
    box-shadow: inset -1px 0 0 0 var(--surface1)
}

.files-blocks .files-data {
    padding: 10px 10px 5px 15px;
    overflow: hidden;
    width: 100%;
    font-size: .9375rem
}

.files-blocks .fileperms, .files-blocks .mime, .files-blocks .ext, .files-blocks .icon, .files-blocks .exif, .files-blocks .gps {
    display: none
}

.files-blocks .name, .files-blocks .title, .files-blocks .dimensions, .files-blocks .size, .files-blocks .date {
    display: block
}

.files-blocks .name {
    font-size: 1rem
}

@media (max-width: 389.98px) {
    .files-blocks .files-data {
        padding: 8px 5px 5px 12px
    }
}

@media (min-width: 390px) {
    .files-blocks {
        --blocks-margin: .5rem
    }

    .files-blocks .files-a {
        border-radius: 3px;
        --box-shadow: 0 0 0 0 var(--surface-active), var(--files-border-bottom)
    }
}

@media (min-width: 576px) {
    .files-blocks {
        --blocks-margin: var(--blocks-space, calc(.9vw + 5px))
    }
}

@media (min-width: 768px) {
    .files-blocks {
        display: grid;
        grid-template-columns:repeat(auto-fill, minmax(var(--blocks-width, calc(340px + 2%)), 1fr));
        grid-auto-rows: 1fr;
        margin: var(--blocks-space, calc(.9vw + 5px));
        grid-gap: var(--blocks-space, calc(.9vw + 5px));
        --blocks-margin: 0
    }
}

@media (min-width: 1400px) {
    .files-blocks {
        margin: var(--blocks-space, 20px);
        grid-gap: var(--blocks-space, 20px)
    }
}

.files-grid {
    display: grid;
    grid-auto-flow: dense;
    grid-template-columns:repeat(auto-fill, minmax(var(--grid-size, 160px), 1fr));
    grid-auto-rows: 1fr;
    padding: var(--grid-space, calc((8vw + var(--grid-size, 160px)) / 900 * var(--grid-space-factor, 50)));
    grid-gap: var(--grid-space, calc((8vw + var(--grid-size, 160px)) / 900 * var(--grid-space-factor, 50)));
    --img-object-fit-ui: var(--img-object-fit);
    --folder-preview-max-height: 44%
}

.files-grid .files-a {
    border-radius: var(--grid-border-radius, 3px);
    aspect-ratio: var(--grid-aspect, 1)
}

@supports not (aspect-ratio: 1) {
    .files-grid::before {
        content: '';
        width: 0;
        padding-bottom: calc(100% * (2.5 - var(--grid-aspect, 1)))
    }

    .files-grid::before, .files-grid .files-a:first-child {
        grid-row: 1 / 1;
        grid-column: 1 / 1
    }

    .files-grid .files-img, .files-grid .files-svg {
        position: absolute
    }
}

.files-grid, .files-rows, .files-columns {
    --button-padding: 9px;
    --button-margin: 3%
}

@media (hover: hover) {
    .files-grid, .files-rows, .files-columns {
        --button-padding: 3px
    }
}

.files-grid .files-a-loaded, .files-rows .files-a-loaded, .files-columns .files-a-loaded {
    cursor: var(--files-cursor, pointer);
    --button-icon-color: white;
    --button-hsl: var(--hue) 20% 14%
}

.files-grid, .files-rows, .columns-noinfo {
    --img-placeholder-position-y: 45%;
    --svg-file-padding: 10% 18% calc(20px + 10%);
    --svg-folder-padding: 0 12% 20px;
    --active-scale: scale(1.02);
    --box-shadow: var(--files-border-bottom)
}

.files-grid .files-a-loaded:not(:active), .files-rows .files-a-loaded:not(:active), .columns-noinfo .files-a-loaded:not(:active) {
    --scale-delay: .3s
}

.files-grid .files-data, .files-rows .files-data, .columns-noinfo .files-data {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end
}

.files-grid .mime, .files-grid .date, .files-grid .icon, .files-grid .size, .files-grid .exif, .files-grid .dimensions, .files-grid .ext, .files-grid .title, .files-grid .gps, .files-rows .mime, .files-rows .date, .files-rows .icon, .files-rows .size, .files-rows .exif, .files-rows .dimensions, .files-rows .ext, .files-rows .title, .files-rows .gps, .columns-noinfo .mime, .columns-noinfo .date, .columns-noinfo .icon, .columns-noinfo .size, .columns-noinfo .exif, .columns-noinfo .dimensions, .columns-noinfo .ext, .columns-noinfo .title, .columns-noinfo .gps {
    display: none
}

.files-grid .name, .files-rows .name, .columns-noinfo .name {
    display: block;
    font-size: var(--grid-font-size, 0.875rem);
    color: var(--text2);
    font-weight: 400;
    text-align: center;
    line-height: 1;
    padding: var(--name-padding, calc(.3em + 3%))
}

.files-grid .files-a-loaded .files-data, .files-rows .files-a-loaded .files-data, .columns-noinfo .files-a-loaded .files-data {
    opacity: var(--files-data-opacity, 0);
    transition: opacity var(--files-data-transition-duration, 0.5s) cubic-bezier(0.215, 0.61, 0.355, 1);
    background: linear-gradient(rgba(0, 0, 0, 0.2), transparent 30%, transparent 60%, rgba(0, 0, 0, 0.6))
}

.files-grid .files-a-loaded:hover, .files-rows .files-a-loaded:hover, .columns-noinfo .files-a-loaded:hover {
    --files-data-opacity: 1
}

@media (hover: hover) {
    .files-grid .files-a-loaded, .files-rows .files-a-loaded, .columns-noinfo .files-a-loaded {
        --files-data-transition-duration: 0.25s
    }

    .files-grid .files-a-loaded.files-data-hidden .files-data, .files-grid .files-a-loaded:active:not(:has(.files-context:active)), .files-rows .files-a-loaded.files-data-hidden .files-data, .files-rows .files-a-loaded:active:not(:has(.files-context:active)), .columns-noinfo .files-a-loaded.files-data-hidden .files-data, .columns-noinfo .files-a-loaded:active:not(:has(.files-context:active)) {
        --files-data-opacity: 0
    }
}

.files-grid .files-a-loaded.cm-active, .files-rows .files-a-loaded.cm-active, .columns-noinfo .files-a-loaded.cm-active {
    --files-data-opacity: 1
}

.files-grid .files-a-loaded .name, .files-rows .files-a-loaded .name, .columns-noinfo .files-a-loaded .name {
    color: white;
    font-weight: normal
}

.files-rows {
    --img-placeholder-size: calc(var(--rows-size, 150px) / 1.8);
    --img-placeholder-min-height: var(--rows-height, var(--rows-size, 150px));
    --name-padding: calc(.25em + var(--rows-size, 150px) / 20);
    --button-margin: calc(var(--rows-size, 150px) / 30);
    display: flex;
    flex-wrap: wrap;
    padding: var(--rows-space, calc((8% + var(--rows-size, 150px)) / 1000 * var(--rows-space-factor, 50))) 0 0 var(--rows-space, calc((8% + var(--rows-size, 150px)) / 1000 * var(--rows-space-factor, 50)));
    justify-content: var(--rows-justify-content, space-evenly)
}

.files-rows:after {
    content: '';
    flex-grow: 9
}

.files-rows .files-a {
    flex-basis: calc(var(--ratio, 1) * var(--rows-size, 150px));
    flex-grow: var(--rows-flex-grow, 1);
    height: var(--rows-height, auto);
    margin: 0 var(--rows-space, calc((8% + var(--rows-size, 150px)) / 1000 * var(--rows-space-factor, 50))) var(--rows-space, calc((8% + var(--rows-size, 150px)) / 1000 * var(--rows-space-factor, 50))) 0;
    border-radius: var(--rows-border-radius, 3px)
}

.files-columns {
    columns: var(--columns-size, 600px);
    column-gap: var(--columns-space, calc((10vw + var(--columns-size, 180px)) / 1000 * var(--columns-space-factor, 50)));
    padding: var(--columns-space, calc((10vw + var(--columns-size, 180px)) / 1000 * var(--columns-space-factor, 50)));
    --img-placeholder-min-height: calc(var(--columns-size, 180px) / var(--ratio, 1))
}

.files-columns .files-a {
    page-break-inside: avoid;
    break-inside: avoid-column;
    display: inline-block;
    vertical-align: middle;
    width: 100%;
    border-radius: var(--columns-border-radius, 3px);
    margin-bottom: var(--columns-space, calc((10vw + var(--columns-size, 180px)) / 1000 * var(--columns-space-factor, 50)));
    z-index: auto
}

.files-columns .files-img-ico {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto
}

.columns-info {
    --ratio: auto;
    --svg-file-padding: 15% 25%;
    --svg-folder-padding: 0% 18% 2%;
    --folder-preview-width: 36%;
    --folder-preview-top: 0;
    --folder-preview-translateY: 64%
}

.columns-info .files-a {
    --box-shadow: 0 0 0 0 var(--surface-active);
    --box-shadow-active: 0 0 0 3px var(--surface-active)
}

.columns-info .files-a-loaded:before {
    transition: opacity 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    opacity: 0;
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.2), transparent 100px)
}

.columns-info .files-a-loaded:hover:before {
    opacity: 1
}

.columns-info .files-data {
    display: flex;
    flex-direction: column;
    padding: calc(.3em + 3%);
    line-height: 1.3;
    gap: .2em;
    box-shadow: 0 -1px 0 0 var(--surface1);
    font-size: .8125rem
}

.columns-info .icon, .columns-info .ext, .columns-info .exif-gps {
    display: none
}

.columns-info .gps {
    position: absolute;
    align-self: flex-end;
    --svg-icon-font-size: 18px
}

.columns-info .gps + .name {
    padding-right: 18px
}

.columns-info .files-icon-overlay .svg-path-marker {
    display: none
}

.columns-info .name {
    font-size: .875rem;
    word-break: break-all
}

.columns-info .title {
    word-break: break-word
}

@supports (-webkit-line-clamp: 3) {
    .columns-info .name, .columns-info .title {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden
    }
}

.columns-info .exif {
    display: flex;
    flex-wrap: wrap;
    order: 10;
    border-top: 1px solid var(--border-color);
    margin-top: .3em;
    padding-top: .5em;
    column-gap: .5em;
    row-gap: .1em
}

.columns-info .exif .svg-icon {
    display: none
}

.columns-info .svg-overlay-play {
    margin-top: -39px
}

.pswp {
    display: none;
    position: fixed;
    overflow: hidden;
    touch-action: none;
    z-index: 1500;
    -webkit-text-size-adjust: 100%;
    -webkit-backface-visibility: hidden;
    outline: none;
    contain: strict
}

.pswp--open {
    display: block
}

.pswp--animate_opacity {
    opacity: 0.001;
    will-change: opacity;
    transition: opacity 333ms cubic-bezier(0.6, 0, 0, 1)
}

.pswp--animate_opacity .pswp__bg {
    transition: none
}

.pswp--animated-in .pswp__zoom-wrap, .pswp--animated-in .pswp__bg {
    transition: none
}

.pswp__bg {
    position: absolute;
    background-color: var(--popup-bg);
    opacity: 0;
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    will-change: opacity;
    transition: opacity 333ms cubic-bezier(0.6, 0, 0, 1)
}

.pswp__scroll-wrap {
    position: absolute;
    overflow: hidden
}

.pswp__container, .pswp__zoom-wrap {
    touch-action: none;
    position: absolute;
    -webkit-backface-visibility: hidden
}

.pswp__container, .pswp__img {
    -webkit-touch-callout: none
}

.pswp__item {
    position: absolute;
    overflow: hidden
}

.pswp__zoom-wrap {
    position: absolute;
    width: 100%;
    transform-origin: left top;
    transition: transform 333ms cubic-bezier(0.6, 0, 0, 1)
}

.pswp__img {
    position: absolute;
    width: auto;
    height: auto;
    top: 0;
    left: 0;
    max-width: none;
    image-orientation: none;
    clip-path: var(--clip-path, none);
    transition: clip-path cubic-bezier(0.6, 0, 0, 1) var(--clip-path-transition-duration, 0s)
}

.pswp--zoom-cursor .pswp__img {
    cursor: default
}

.pswp--zoom-allowed.pswp--zoom-cursor .pswp__img {
    cursor: zoom-in
}

.pswp--zoom-allowed.pswp--zoomed-in .pswp__img {
    cursor: grab
}

.pswp--zoom-allowed.pswp--dragging .pswp__img {
    cursor: grabbing
}

@supports (image-orientation: from-image) {
    .server-exif .pswp__img {
        image-orientation: from-image
    }
}

.pswp__img[src$=".avif"] {
    object-fit: scale-down
}

.pswp__img--placeholder {
    -webkit-backface-visibility: hidden
}

.pswp__img--placeholder--blank {
    background-color: var(--popup-placeholder-bg, hsl(var(--hue), 20%, 6%))
}

.pswp__error-msg {
    text-align: center;
    color: var(--text1-dark);
    margin-top: calc(50vh - 8px)
}

.pswp__error-msg a {
    text-decoration: underline
}

.pswp__ui {
    z-index: 1550;
    color: white;
    --button-hsl: var(--hue) 20% 12%
}

.has-scrollbars.popup-open {
    overflow: hidden
}

.pswp__timer {
    display: none;
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: var(--popup-timer-color, white);
    transform-origin: left;
    z-index: 4;
    transform: scaleX(0);
    will-change: transform, opacity;
    transition: height .2s
}

.pswp__ui--idle .pswp__timer, .pswp__ui--hidden .pswp__timer {
    height: 1px
}

.pswp__top-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 3;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
    padding: .5rem .5rem .5rem 1rem;
    --button-padding: 12px
}

@media (min-width: 576px) {
    .pswp__top-bar {
        padding: 10px 1rem 10px 1.5rem
    }
}

.pswp--has_mouse .pswp__top-bar {
    opacity: .8
}

.pswp__top-bar:hover {
    opacity: 1
}

.pswp__counter {
    font-family: var(--font-family-monospace);
    margin-right: 1rem
}

.popup-counter-separator {
    margin: 0 3px
}

.pswp__search {
    --svg-icon-margin: 0 5px 0 0
}

.pswp__search:empty {
    display: none
}

@media (min-width: 576px) {
    .pswp__search {
        max-width: 360px
    }
}

.pswp__topbar-spacer {
    flex-grow: 1
}

.pswp__spinner {
    --spinner-position: static;
    --spinner-color: white;
    --spinner-margin: 0 12px 0 0
}

.pswp__button--close {
    --svg-icon-font-size: 36px;
    --button-padding: 6px
}

.pswp__button--arrow--left, .pswp__button--arrow--right {
    display: none;
    position: absolute;
    z-index: 2;
    height: 100%;
    --svg-icon-fill: rgba(255, 255, 255, .9);
    --svg-icon-font-size: 46px;
    --svg-icon-surface: rgba(0, 0, 0, .2);
    min-width: 66px
}

.pswp--has_mouse .pswp__button--arrow--left, .popup-ui-pano .pswp__button--arrow--left, .pswp--has_mouse .pswp__button--arrow--right, .popup-ui-pano .pswp__button--arrow--right {
    display: block
}

@media (min-width: 992px) {
    .pswp__button--arrow--left, .pswp__button--arrow--right {
        width: calc(66px + 3%)
    }
}

@media (min-width: 1200px) {
    .pswp__button--arrow--left, .pswp__button--arrow--right {
        --svg-icon-font-size: 52px
    }
}

.pswp__button--arrow--left .svg-icon, .pswp__button--arrow--right .svg-icon {
    background-color: var(--svg-icon-surface);
    border-radius: 50%;
    transition: 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    padding: 5px;
    transform: var(--svg-icon-transform, none)
}

.pswp__button--arrow--left:hover, .pswp__button--arrow--left:focus, .pswp__button--arrow--right:hover, .pswp__button--arrow--right:focus {
    --svg-icon-fill: white;
    --svg-icon-surface: var(--surface3-dark)
}

.pswp__button--arrow--left:active, .pswp__button--arrow--right:active {
    --svg-icon-surface: var(--surface2-dark);
    --svg-icon-transform: scale(.96)
}

.pswp__button--arrow--left {
    left: 0
}

.pswp__button--arrow--right {
    right: 0
}

.svg-path-pause, .svg-path-play {
    transform-origin: center;
    transition: transform cubic-bezier(0.23, 1, 0.32, 1) 0.3s, fill-opacity 0.1s
}

.svg-path-pause {
    fill-opacity: 0;
    transform: rotate(-60deg)
}

.is-playing .svg-path-play {
    fill-opacity: 0;
    transform: rotate(60deg)
}

.is-playing .svg-path-pause {
    fill-opacity: 1;
    transform: rotate(0deg)
}

.svg-path-collapse {
    display: var(--fullscreen-collapse, none)
}

.svg-path-expand {
    display: var(--fullscreen-expand, block)
}

.is-fullscreen {
    --fullscreen-collapse: block;
    --fullscreen-expand: none
}

.pswp__button--zoom {
    display: none
}

.pswp--zoom-allowed .pswp__button--zoom {
    display: block
}

.pswp__button--zoom .svg-path-magnify_minus {
    display: none
}

.pswp--zoomed-in .svg-path-magnify_minus {
    display: inline
}

.pswp--zoomed-in .svg-path-magnify_plus {
    display: none
}

.pswp__ui--one-slide .pswp__button--arrow--left, .pswp__ui--one-slide .pswp__button--arrow--right, .pswp__ui--one-slide .pswp__button--play, .pswp__ui--one-slide .pswp__counter {
    display: none
}

.pswp__element--disabled {
    display: none !important
}

.pswp__caption, .pswp__top-bar, .pswp__button--arrow--left, .pswp__button--arrow--right {
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), background-color 0.2s;
    will-change: transform, opacity;
    -webkit-backface-visibility: hidden
}

.pswp__ui--idle .pswp__caption-hide:not(.pswp__caption-locked):not(:hover), .pswp__ui--idle .pswp__top-bar:not(:hover), .pswp__ui--idle .pswp__button--arrow--left:not(:hover), .pswp__ui--idle .pswp__button--arrow--right:not(:hover) {
    opacity: 0;
    visibility: hidden;
    transition: transform 0s .6s, opacity .6s, visibility 0s .6s
}

.pswp__ui--idle .pswp__top-bar:not(:hover) {
    transform: translateY(-3px)
}

.pswp__ui--idle .pswp__caption-hide:not(.pswp__caption-locked):not(:hover) {
    transform: translateY(3px)
}

.pswp__ui--idle .pswp__button--arrow--left:not(:hover) {
    transform: translateX(-3px)
}

.pswp__ui--idle .pswp__button--arrow--right:not(:hover) {
    transform: translateX(3px)
}

.pswp__ui--hidden:not(.popup-ui-pano) .pswp__top-bar {
    transform: translateY(-3px)
}

.pswp__ui--hidden:not(.popup-ui-pano) .pswp__caption {
    transform: translateY(3px)
}

.pswp__ui--hidden:not(.popup-ui-pano) .pswp__top-bar, .pswp__ui--hidden:not(.popup-ui-pano) .pswp__caption, .pswp__ui--hidden:not(.popup-ui-pano) .pswp__button--arrow--left, .pswp__ui--hidden:not(.popup-ui-pano) .pswp__button--arrow--right {
    transition: transform 0s .33s, opacity .33s, visibility 0s .33s;
    opacity: 0;
    visibility: hidden
}

.pswp__caption {
    --popup-color1: hsl(var(--hue), 20%, 98%);
    --popup-color2: hsl(var(--hue), 20%, 86%);
    --popup-color3: hsl(var(--hue), 20%, 77%);
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 1
}

@media (hover: hover) {
    .pswp__caption:hover {
        z-index: 5
    }
}

@media (min-width: 1025px) and (hover: hover) {
    .pswp__caption:before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: -32px;
        bottom: 100%
    }
}

.pswp__caption__center {
    padding: 1em;
    display: flex;
    flex-direction: column;
    row-gap: var(--popup-caption-gap, 0.35em);
    color: var(--popup-color2);
    font-size: var(--popup-caption-font-size, 0.875rem);
    line-height: var(--popup-caption-line-height, 1.35);
    word-break: break-word;
    --divider-color: rgba(255, 255, 255, .2)
}

.pswp__caption__center:empty {
    display: none
}

@media (min-width: 768px) {
    .pswp__caption__center {
        display: inline-flex;
        max-width: var(--popup-caption-max-width, 800px)
    }
}

.pswp__button--lock-caption {
    display: none;
    opacity: 0;
    visibility: hidden;
    position: absolute;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.7);
    margin-top: -54px
}

.pswp__caption-align-center-left .pswp__button--lock-caption, .pswp__caption-align-center .pswp__button--lock-caption {
    left: calc(50% - 22px)
}

.pswp__caption-align-right .pswp__button--lock-caption {
    right: 16px
}

.pswp__button--lock-caption .svg-path-lock_outline {
    display: none
}

.pswp__caption:hover .pswp__button--lock-caption {
    visibility: visible;
    opacity: 1
}

.pswp__ui--idle .pswp__caption:hover .pswp__button--lock-caption {
    opacity: 0
}

@media (min-width: 1025px) {
    .pswp--has_mouse .pswp__caption-hide .pswp__button--lock-caption {
        display: inline-block
    }
}

.pswp__caption-locked .svg-path-lock_outline {
    display: inline
}

.pswp__caption-locked .svg-path-lock_open_outline {
    display: none
}

.pswp__caption--empty {
    display: none
}

.pswp__caption-style-block {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.3) 100%)
}

.pswp__caption-style-box {
    padding: 0 8px 8px
}

@media (min-width: 641px) {
    .pswp__caption-style-box {
        padding: 0 16px 16px
    }
}

.pswp__caption-style-box .pswp__caption__center {
    transition: background-color .2s;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 1rem 1.125rem;
    border-radius: 3px
}

.pswp__caption-style-box:hover .pswp__caption__center {
    background-color: black
}

.pswp__caption-style-subtitles {
    padding-top: 5px
}

.pswp__caption-style-subtitles .pswp__button--lock-caption {
    bottom: 100%
}

.pswp__caption-style-subtitles .pswp__caption__center > * {
    background-color: black
}

.pswp__caption-align-right .pswp__caption-style-subtitles .pswp__caption__center > * {
    float: right
}

.pswp__caption-style-gradient:before {
    content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    bottom: 0;
    top: -60px;
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%)
}

@media (min-width: 992px) {
    .pswp__caption-style-gradient:before {
        background-image: radial-gradient(ellipse 800px 100% at 45% 100%, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%)
    }
}

.pswp__caption-style-block:hover, .pswp__caption-style-gradient:hover, .pswp__caption-style-none:hover {
    background-color: rgba(0, 0, 0, 0.7)
}

.pswp__caption-align-left .pswp__button--arrow--left {
    z-index: 1
}

.pswp__caption-align-center .pswp__caption, .pswp__caption-align-center-left .pswp__caption {
    text-align: center
}

.pswp__caption-align-center-left .pswp__caption__center {
    text-align: left
}

.pswp__caption-align-right .pswp__caption {
    text-align: right
}

.pswp__caption-align-right .pswp__button--arrow--right {
    z-index: 1
}

@supports (-webkit-line-clamp: 3) {
    .popup-title, .popup-description, .popup-keywords {
        display: -webkit-box;
        -webkit-line-clamp: var(--popup-caption-line-clamp, 3);
        -webkit-box-orient: vertical;
        overflow: hidden
    }

    @media screen and (min-height: 500px) {
        .popup-title, .popup-description, .popup-keywords {
            -webkit-line-clamp: calc(var(--popup-caption-line-clamp, 3) + 1)
        }
    }@media screen and (min-height: 600px) {
    .popup-title, .popup-description, .popup-keywords {
        -webkit-line-clamp: calc(var(--popup-caption-line-clamp, 3) + 2)
    }
}@media screen and (min-height: 700px) {
    .popup-title, .popup-description, .popup-keywords {
        -webkit-line-clamp: calc(var(--popup-caption-line-clamp, 3) + 3)
    }
}
}

.popup-basename {
    font-weight: 500;
    font-size: 1.1em;
    color: var(--popup-color1)
}

.popup-image-meta, .popup-exif {
    display: flex;
    white-space: nowrap;
    overflow: hidden
}

.popup-image-meta {
    margin: .1em 0
}

.popup-date {
    text-transform: capitalize
}

.popup-date .relative-time {
    font-style: italic
}

.popup-date .relative-time:before {
    content: '\00a0\00a0-\00a0\00a0'
}

.popup-exif {
    flex-wrap: wrap;
    --svg-icon-font-size: 18px;
    margin-bottom: .1em
}

.popup-title:not(:last-child) {
    color: var(--popup-color1);
    font-weight: 500
}

.popup-keywords {
    font-style: italic;
    color: var(--popup-color3)
}

.popup-ui-video .pswp__button--arrow--left, .popup-ui-video .pswp__button--arrow--right {
    height: 100px;
    top: calc(50% - 50px);
    min-width: auto;
    width: auto
}

.popup-video {
    position: absolute;
    top: 64px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    max-height: calc(100% - 64px);
    margin: auto
}

.pswp--has_mouse .popup-video {
    top: 0px;
    max-height: 100%
}

.pswp__error-msg, .popup-video {
    cursor: default
}

.pnlm-render-container {
    transition: opacity .3s
}

.pnlm-render-container:empty {
    opacity: 0
}

.pswp__button--pano-rotate {
    display: none
}

.popup-ui-pano .pswp__button--pano-rotate {
    display: block
}

.pswp__button--pano-rotate .svg-path-motion_play_outline, .pswp__button--pano-rotate .svg-path-motion_pause_outline {
    transform-origin: center;
    transition: transform cubic-bezier(0.23, 1, 0.32, 1) 0.3s
}

.pswp__button--pano-rotate .svg-path-motion_pause_outline {
    visibility: hidden
}

.pswp__button--pano-rotate.is-rotating .svg-path-motion_play_outline {
    visibility: hidden;
    transform: rotate(180deg)
}

.pswp__button--pano-rotate.is-rotating .svg-path-motion_pause_outline {
    visibility: visible;
    transform: rotate(180deg)
}

.popup-ui-pano .pswp__caption {
    display: var(--popup-pano-caption-display, none)
}

.pnlm-load-box {
    color: white;
    position: absolute;
    top: calc(50% + 24px);
    left: calc(50% - 50px);
    width: 100px
}

.pnlm-load-box p {
    display: none
}

.pnlm-lbar {
    background-color: var(--surface4-dark);
    height: 4px;
    border-radius: 2px;
    overflow: hidden;
    animation: opacity 1s
}

.pnlm-lbar-fill {
    width: 0;
    transition: width .2s;
    background-color: var(--text3-dark);
    height: 100%;
    border-radius: 2px
}

.popup-pano-placeholder {
    position: absolute;
    left: calc(50% - 24px);
    top: calc(50% - 34px);
    --svg-icon-font-size: 48px
}

.popup-pano-placeholder .svg-panorama_variant {
    fill: var(--surface4-dark)
}

.pnlm-container {
    overflow: hidden;
    position: relative;
    cursor: default;
    width: 100%;
    height: 100%;
    -webkit-user-select: none;
    user-select: none;
    outline: 0;
    contain: content
}

.pnlm-ui, .pnlm-render-container, .pnlm-dragfix, .pnlm-preview-img {
    position: absolute;
    height: 100%;
    width: 100%
}

.pnlm-ui {
    z-index: 1
}

.pnlm-grab {
    cursor: grab
}

.pnlm-grabbing {
    cursor: grabbing
}

.pnlm-render-container {
    cursor: inherit
}

.pnlm-pointer {
    cursor: pointer
}

.pnlm-about-msg {
    display: none !important
}

.modal {
    contain: strict;
    display: grid;
    position: fixed;
    z-index: var(--z-index-modal);
    background-color: var(--surface1);
    overscroll-behavior: contain;
    pointer-events: none;
    overflow-y: auto;
    opacity: 0;
    --transition-duration: .4s;
    transition: opacity var(--transition-duration) cubic-bezier(0.165, 0.84, 0.44, 1);
    overflow-y: overlay
}

@supports (background-color: HSL(50 50% 50%/50%)) {
    .modal {
        background-color: var(--modal-bg)
    }
}

@media (min-width: 320px) {
    .modal {
        overflow-x: hidden
    }
}

.modal-open {
    overflow: hidden
}

.modal-show {
    --transition-duration: .2s;
    --ui-opacity: 0;
    pointer-events: auto;
    opacity: 1;
    cursor: zoom-out
}

.modal-popup {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 320px;
    cursor: auto;
    word-break: break-word;
    background-color: var(--modal-surface, var(--surface4));
    --button-hsl: var(--type-color-hsl, var(--hsl-primary));
    transform: translateY(2px);
    transition: transform 0s var(--transition-duration);
    --margin: 0px;
    --padding: 1rem;
    --nav-offset: 10px;
    --border-radius: 0;
    --justify: stretch;
    --align: start;
    --justify-large: end;
    --align-large: start;
    --fullscreen-collapse: none;
    --fullscreen-expand: block;
    margin: var(--margin);
    border-radius: var(--border-radius);
    justify-self: var(--justify);
    align-self: var(--align)
}

.modal-show .modal-popup {
    transition: transform var(--transition-duration) cubic-bezier(0.23, 1, 0.32, 1), box-shadow 0.3s;
    transform: none
}

@media (min-width: 576px) {
    .modal-popup {
        --margin: 32px;
        --padding: 1.125rem;
        --nav-offset: -22px;
        --border-radius: 3px;
        --modal-nav-display: block
    }
}

@media (min-width: 768px) {
    .modal-popup {
        --justify: center;
        width: var(--width, 480px);
        --nav-offset: -64px
    }
}

@media (min-width: 992px) {
    .modal-popup {
        --width: 520px
    }
}

@media (hover: hover) and (pointer: fine) {
    .modal-popup {
        --modal-nav-display: block
    }
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
    .modal-popup {
        --justify: var(--justify-large);
        --align: var(--align-large);
        --nav-top: var(--nav-top-large);
        --modal-pos-button: grid;
        --nav-offset: -22px
    }
}

@media (hover: hover) and (pointer: fine) {
    .modal-popup:hover {
        --ui-opacity: 1;
        --ui-transition-opacity: opacity .15s
    }
}

.modal-popup:not(.modal-popup-fullscreen) {
    --webkit-scrollbar-width: 6px;
    box-shadow: inset 0 2px 0 0 var(--type-color), var(--modal-box-shadow)
}

.modal-pos-x-start {
    --justify-large: start
}

.modal-pos-x-center {
    --justify-large: center
}

@media (min-width: 768px) {
    .modal-pos-x-center {
        --nav-offset: -64px
    }
}

.modal-pos-x-end {
    --justify-large: end
}

.modal-pos-y-start {
    --align-large: start
}

.modal-pos-y-center {
    --align-large: center;
    --nav-top-large: calc(50% - 22px)
}

.modal-pos-y-end {
    --align-large: end;
    --nav-top-large: calc(100% - 236px)
}

@media (min-width: 768px) {
    .modal-pos-y-end {
        --counter-top: auto;
        --counter-bottom: 0
    }
}

.modal-single {
    --modal-nav-display: none
}

.modal-nav-left, .modal-nav-right {
    display: var(--modal-nav-display, none);
    position: absolute;
    top: var(--nav-top, 124px);
    z-index: 7;
    background-color: var(--surface4);
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.075));
    opacity: var(--ui-opacity, 1);
    transition: color, background-color, box-shadow, var(--ui-transition-opacity, opacity 0.3s 1s), transform;
    transition-duration: .3s;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1)
}

.modal-nav-left:focus-visible, .modal-nav-right:focus-visible {
    --ui-opacity: 1;
    --ui-transition-opacity: opacity .15s
}

@media (hover: none) {
    .modal-nav-left, .modal-nav-right {
        --ui-opacity: 1
    }
}

.modal-nav-left {
    left: var(--nav-offset)
}

.modal-nav-right {
    right: var(--nav-offset)
}

.modal-nav-active {
    --ui-opacity: 1;
    --ui-transition-opacity: opacity .3s;
    transform: scale(1.1)
}

.modal-header {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    z-index: 1;
    padding: 7px 7px 7px var(--padding);
    --button-padding: 9px
}

@media (hover: hover) {
    .modal-header:not(:hover) {
        --button-icon-color: var(--text2)
    }
}

.modal-header [data-action="close"] {
    --svg-icon-font-size: 36px;
    --button-padding: 4px
}

@media (max-width: 575.98px) {
    .modal-header [data-action="fullscreen"] {
        --code-button-display: none
    }
}

.modal-title {
    flex-grow: 1;
    margin: 0 .5rem 0 0;
    font-weight: 400;
    font-size: 1.375rem
}

.modal-code-button {
    display: var(--code-button-display, none);
    animation: opacity .2s forwards
}

.modal-header-code {
    --code-button-display: block
}

[data-theme="dark"] [data-action="toggle-codemirror-theme"] {
    display: none
}

.modal-codemirror-theme-light {
    --theme-dark-rotate: -45deg;
    --modal-codemirror-surface: var(--surface3-light)
}

.modal-codemirror-theme-dark {
    --theme-light-opacity: 0;
    --theme-light-rotate: 45deg;
    --modal-codemirror-surface: hsl(var(--hue), 20%, 18%)
}

.modal-pos {
    display: var(--modal-pos-button, none);
    grid-template-columns:repeat(3, 1fr);
    width: 30px;
    height: 38px;
    padding: 7px 3px;
    margin: 0 2px;
    flex-shrink: 0;
    transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1);
    --pad: 2px
}

.modal-pos:hover {
    z-index: 1;
    --pad: 1px;
    transform: scale(2)
}

.modal-pos-el {
    cursor: pointer;
    transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative
}

.modal-pos-el:after {
    content: '';
    position: absolute;
    top: var(--pad);
    bottom: var(--pad);
    right: var(--pad);
    left: var(--pad);
    background-color: currentColor
}

.modal-pos-el:not(:hover):not(.modal-pos-active) {
    opacity: .2
}

.modal-pos-el:hover:after {
    background-color: var(--type-color)
}

.modal-pos-el:active {
    transform: scale(1.5)
}

.modal-preview {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: stretch;
    position: relative;
    min-height: 160px;
    box-shadow: 0 1px 0 var(--border-color), 0 -1px 0 var(--border-color);
    background: repeating-conic-gradient(var(--surface4) 0 25%, transparent 0 50%) 50%/20px 20px var(--surface3)
}

.modal-preview:after {
    display: var(--modal-nav-display, block);
    content: attr(data-counter);
    position: absolute;
    top: var(--counter-top, 0);
    bottom: var(--counter-bottom, auto);
    right: 0;
    pointer-events: none;
    padding: 4px 8px;
    font-family: var(--font-family-monospace);
    background-color: var(--surface4);
    opacity: var(--ui-opacity, 1);
    transition: var(--ui-transition-opacity, opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1) 1s)
}

.modal-preview-image, .modal-preview-video, .modal-preview-video-thumb, .modal-preview-embed {
    box-shadow: inset 0 1px 0 var(--border-color), inset 0 -1px 0 var(--border-color)
}

.modal-preview-code {
    transition: background-color 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    background: var(--modal-codemirror-surface)
}

.modal-preview-code:has(.CodeMirror-focused) {
    --ui-opacity: 0
}

.modal-count-show {
    --ui-opacity: 1;
    --ui-transition-opacity: opacity .3s
}

.modal-preview-a {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    --folder-preview-width: 90px;
    --folder-preview-top: 50%
}

.modal-preview-audio {
    background: none;
    min-height: 0;
    padding: 1rem 10px
}

.modal-svg {
    height: 160px;
    filter: var(--files-svg-active-filter, none)
}

.modal-svg.svg-file {
    padding: 20px 0
}

.modal-svg > * {
    transform-origin: center
}

.modal-image {
    image-orientation: from-image;
    background-size: 100px;
    cursor: zoom-in
}

.modal-image-video {
    flex-grow: 1
}

.modal-image-ico {
    width: auto
}

.modal-video, .modal-audio, .modal-embed {
    width: 100%;
    outline: none
}

.modal-video:hover, .modal-audio:hover, .modal-embed:hover {
    z-index: 1
}

.modal-video {
    max-height: 80vh;
    background-color: black
}

.modal-embed {
    aspect-ratio: 16 / 9
}

@supports not (aspect-ratio: 16/9) {
    .modal-embed {
        min-height: 293px
    }
}

.modal-info {
    color: var(--text2);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    --modal-info-spacing: .375rem;
    row-gap: var(--modal-info-spacing);
    padding: var(--padding);
    margin-bottom: 3px;
    line-height: 1.3;
    font-size: 0.9375rem
}

.modal-info-mime, .modal-info-date, .modal-info-exif .exif-Model {
    --svg-icon-margin: 0 6px 0 -2px
}

.modal-info-name {
    color: var(--text1);
    font-size: 1.0625rem;
    padding-bottom: 2px
}

.modal-info-meta, .modal-info-exif {
    line-height: 24px
}

.modal-info-mime {
    min-width: 0
}

.modal-info-dimensions, .modal-info-filesize, .modal-info-permissions {
    flex-shrink: 0
}

.modal-info-permissions {
    font-weight: 500;
    --svg-icon-font-size: 18px;
    --svg-icon-margin: 0 2px 0 0
}

@media (max-width: 460px) {
    .modal-popup-image .modal-info-permissions {
        display: none
    }
}

.is-readwrite {
    color: var(--color-success-light)
}

.not-readwrite {
    color: var(--color-danger-light)
}

.modal-info-date, .modal-info-exif {
    border-top: 1px solid var(--border-color);
    padding-top: var(--modal-info-spacing);
    --svg-icon-fill: var(--text3)
}

.modal-info-date {
    line-height: 24px
}

.modal-info-date .relative-time {
    color: var(--text3);
    display: inline-block;
    font-style: italic
}

.modal-info-date .relative-time:before {
    content: '~';
    margin: 0 .5em;
    opacity: .5
}

.modal-info-exif {
    flex-wrap: wrap
}

.modal-info-iptc {
    display: flex;
    flex-direction: column;
    --modal-iptc-spacing: .5rem;
    row-gap: var(--modal-iptc-spacing);
    margin-top: .875rem
}

.modal-info-title, .modal-info-headline {
    color: var(--text1)
}

.modal-info-title:first-child:not(:last-child), .modal-info-headline:first-child:not(:last-child) {
    font-size: 1rem
}

.modal-info-keywords:not(:first-child), .modal-info-location:not(:first-child), .modal-info-owner:not(:first-child) {
    border-top: 1px solid var(--border-color);
    padding-top: var(--modal-iptc-spacing)
}

.modal-info-keywords {
    font-style: italic;
    font-size: .875rem
}

.modal-info-location, .modal-info-owner {
    display: flex;
    flex-direction: column;
    font-size: .875rem
}

.modal-popup-code {
    min-height: 0;
    max-height: calc(100% - var(--margin) * 2)
}

@media (max-height: 500px) {
    .modal-popup-code:not(.modal-popup-fullscreen) {
        min-height: 360px
    }
}

.modal-popup-fullscreen {
    --width: auto;
    --justify: stretch;
    --modal-pos-button: none;
    --align: stretch;
    --border-radius: 0;
    --margin: 0px;
    --modal-nav-display: none;
    --fullscreen-collapse: block;
    --fullscreen-expand: none
}

.modal-popup-fullscreen .modal-info {
    display: none
}

.modal-popup-fullscreen .modal-preview {
    min-height: 0px
}

.modal-preview-spinner {
    --spinner-size: 48px;
    --spinner-color: var(--text3)
}

audio::-webkit-media-controls-panel {
    background-color: var(--surface2)
}
