.ls-dialog .added {
    color: var(--text-on-accent);
    background-color: var(--text-accent);
}

.ls-dialog .normal {
    color: var(--text-normal);
}

.ls-dialog .deleted {
    color: var(--text-on-accent);
    background-color: var(--text-muted);
}

.vpk-action-dialog__message {
    user-select: text;
    -webkit-user-select: text;
}

.conflict-dev-name {
    display: inline-block;
    min-width: 5em;
}

.conflict-action-container {
    display: flex;
    flex-direction: column;
    gap: var(--size-4-2);
    margin-top: var(--size-4-2);
}

.conflict-action-button {
    width: 100%;
    margin: 0;
}

.op-scrollable {
    overflow-y: scroll;
    /* min-height: 280px; */
    max-height: 280px;
    user-select: text;
    -webkit-user-select: text;
}

.op-pre {
    white-space: pre-wrap;
}

.op-warn {
    border: 1px solid salmon;
    padding: 2px;
    border-radius: 4px;
}

.op-warn::before {
    content: "Warning";
    font-weight: bold;
    color: salmon;
    position: relative;
    display: block;
}

.op-warn-info {
    border: 1px solid rgb(255, 209, 81);
    padding: 2px;
    border-radius: 4px;
}

.op-warn-info::before {
    content: "Notice";
    font-weight: bold;
    color: rgb(255, 209, 81);
    position: relative;
    display: block;
}

.syncstatusbar {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}

.tcenter {
    text-align: center;
}

.sls-plugins-wrap {
    display: flex;
    flex-grow: 1;
    max-height: 50vh;
    overflow-y: scroll;
}

.sls-remote-list .setting-item-description {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.sls-plugins-tbl {
    border: 1px solid var(--background-modifier-border);
    width: 100%;
    max-height: 80%;
}

.divider th {
    border-top: 1px solid var(--background-modifier-border);
}

.sls-header-button {
    margin-left: 2em;
}

.sls-hidden {
    display: none;
}

:root {
    --sls-log-text: "";
}

.sls-troubleshoot-preview {
    max-width: max-content;
}

.sls-troubleshoot-preview img {
    max-width: 100%;
}

.sls-setting-tab {
    display: none;
}

div.sls-setting-menu-btn {
    color: var(--text-normal);
    background-color: var(--background-secondary-alt);
    border-radius: 8px;
    padding: 6px 10px;
    cursor: pointer;
    margin-right: 2px;
    font-family: "Inter", sans-serif;
    outline: none;
    user-select: none;
    flex-grow: 1;
    text-align: center;
    flex-shrink: 1;
}

.sls-setting-label.selected {
    /* order: 1; */
    flex-grow: 1;
    /* width: 100%; */
}

.sls-setting-tab:hover ~ div.sls-setting-menu-btn,
.sls-setting-label.selected .sls-setting-tab:checked ~ div.sls-setting-menu-btn {
    background-color: var(--interactive-accent);
    color: var(--text-on-accent);
}

.sls-setting-menu-wrapper {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    position: sticky;
    top: 0;
    backdrop-filter: blur(15px);
    padding: 4px;
    border-radius: 10px;
    z-index: 10;
}

.sls-setting-menu {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
}

body {
    --sls-col-transparent: transparent;
    --sls-col-warn: rgba(var(--background-modifier-error-rgb), 0.1);
    --sls-col-warn-stripe1: var(--sls-col-transparent);
    --sls-col-warn-stripe2: var(--sls-col-warn);
}

.sls-setting-menu-buttons {
    border: 1px solid var(--sls-col-warn);
    /* padding: 2px; */
    margin: 1px;
    border-radius: 4px;
    background-image: linear-gradient(
        -45deg,
        var(--sls-col-warn-stripe1) 25%,
        var(--sls-col-warn-stripe2) 25%,
        var(--sls-col-warn-stripe2) 50%,
        var(--sls-col-warn-stripe1) 50%,
        var(--sls-col-warn-stripe1) 75%,
        var(--sls-col-warn-stripe2) 75%,
        var(--sls-col-warn-stripe2)
    );
    background-size: 30px 30px;
    display: flex;
    flex-direction: row;
    /* justify-content: flex-end; */
    padding: 0.5em 0.25em;
    justify-content: center;
    align-items: center;
    /* transition: background-position 1s; */
    animation: sls-scroll-warn 1s linear 0s infinite;
}

@keyframes sls-scroll-warn {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 30px 0;
    }
}

.sls-setting-menu-buttons label {
    margin-right: auto;
    flex-grow: 1;
    color: var(--text-warning);
}

.sls-setting-label {
    flex-grow: 1;
    display: inline-flex;
    justify-content: center;
}

.setting-collapsed {
    display: none;
}

.sls-plugins-tbl-buttons {
    text-align: right;
}

.sls-plugins-tbl-buttons button {
    flex-grow: 0;
    padding: 6px 10px;
}

.sls-plugins-tbl-device-head {
    background-color: var(--background-secondary-alt);
    color: var(--text-accent);
}

.op-flex {
    display: flex;
}

.op-flex input {
    display: inline-flex;
    flex-grow: 1;
    margin-bottom: 8px;
}

.op-info {
    display: inline-flex;
    flex-grow: 1;
    border-bottom: 1px solid var(--background-modifier-border);
    width: 100%;
    margin-bottom: 4px;
    padding-bottom: 4px;
}

.history-added {
    color: var(--text-on-accent);
    background-color: var(--text-accent);
}

.history-normal {
    color: var(--text-normal);
}

.history-deleted {
    color: var(--text-on-accent);
    background-color: var(--text-muted);
    text-decoration: line-through;
}

.ob-btn-config-fix label {
    margin-right: 40px;
}

.ob-btn-config-info {
    border: 1px solid salmon;
    padding: 2px;
    margin: 1px;
    border-radius: 4px;
}

.ob-btn-config-head {
    padding: 2px;
    margin: 1px;
    border-radius: 4px;
}

.sls-item-dirty::before {
    content: "✏";
}

.sls-item-dirty-help::after {
    content: " ❓";
}

.sls-setting .setting-item-control input.sls-item-invalid-value,
.sls-setting .setting-item-control textarea.sls-item-invalid-value {
    background-color: rgba(var(--background-modifier-error-rgb), 0.3);
}

.sls-setting-disabled input[type="text"],
.sls-setting-disabled input[type="number"],
.sls-setting-disabled input[type="password"] {
    filter: brightness(80%);
    color: var(--text-muted);
}

.sls-setting-hidden {
    display: none;
}

.sls-setting-obsolete {
    /* background-image: linear-gradient(-45deg,
            var(--sls-col-warn-stripe1) 25%, var(--sls-col-warn-stripe2) 25%, var(--sls-col-warn-stripe2) 50%,
            var(--sls-col-warn-stripe1) 50%, var(--sls-col-warn-stripe1) 75%, var(--sls-col-warn-stripe2) 75%, var(--sls-col-warn-stripe2)); */
    background-image: linear-gradient(
        -45deg,
        transparent 25%,
        rgba(var(--background-secondary), 0.1) 25%,
        rgba(var(--background-secondary), 0.1) 50%,
        transparent 50%,
        transparent 75%,
        rgba(var(--background-secondary), 0.1) 75%,
        rgba(var(--background-secondary), 0.1)
    );
    background-size: 60px 60px;
}

.password-input > .setting-item-control > input {
    -webkit-text-security: disc;
}

.sls-onboarding-invitation-action {
    display: inline;
}

/* Touch devices need a larger tap target; on desktop this would just pad the
   link with blank space and make it look like a misplaced button. */
body.is-mobile .sls-onboarding-invitation-action {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}

.sls-review-harness {
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: clip;
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
}

.sls-review-harness .setting-item,
.sls-review-harness .setting-item-control {
    flex-wrap: wrap;
    max-width: 100%;
}

.sls-review-harness .setting-item-info {
    min-width: min(16rem, 100%);
}

.sls-review-harness .setting-item-control {
    gap: 0.5rem;
}

.sls-review-harness button {
    min-height: 44px;
    max-width: 100%;
    white-space: normal;
}

.sls-review-harness__result,
.sls-review-harness__warning,
.sls-review-harness__privacy,
.sls-review-harness__error,
.sls-review-harness__resumed {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.sls-review-harness__result {
    margin: 0 0 1rem;
}

.sls-review-harness__warning,
.sls-review-harness__error {
    color: var(--text-error);
}

.sls-review-harness__resumed {
    color: var(--text-success);
}

span.ls-mark-cr::after {
    user-select: none;
    content: "↲";
    color: var(--text-muted);
    font-size: 0.8em;
}

.deleted span.ls-mark-cr::after {
    color: var(--text-on-accent);
}

.ls-imgdiff-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ls-imgdiff-wrap .overlay {
    position: relative;
}

.ls-imgdiff-wrap .overlay .img-base {
    position: relative;
    top: 0;
    left: 0;
}

.ls-imgdiff-wrap .overlay .img-overlay {
    -webkit-filter: invert(100%) opacity(50%);
    filter: invert(100%) opacity(50%);
    position: absolute;
    top: 0;
    left: 0;
    animation: ls-blink-diff 0.5s cubic-bezier(0.4, 0, 1, 1) infinite alternate;
}

@keyframes ls-blink-diff {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.livesync-status {
    user-select: none;
    pointer-events: none;
    height: auto;
    min-height: 1em;
    position: absolute;
    background-color: transparent;
    width: 100%;
    padding: 10px;
    padding-right: 16px;
    top: var(--header-height);
    z-index: calc(var(--layer-cover) + 1);

    font-variant-numeric: tabular-nums;
    tab-size: 4;
    text-align: right;
    white-space: pre-wrap;
    display: inline-block;
    color: var(--text-normal);
    font-size: 80%;
}

.is-mobile.is-ios .livesync-status {
    box-sizing: border-box;
    top: calc(var(--header-height) + var(--view-header-height, var(--header-height)) + var(--size-4-2));
}

div.workspace-leaf-content[data-type="bases"] .livesync-status {
    top: calc(var(--bases-header-height) + var(--header-height));
    padding: 5px;
    padding-right: 18px;
}

.is-mobile div.workspace-leaf-content[data-type="bases"] .livesync-status {
    top: calc(var(--bases-header-height) + var(--view-header-height));
    padding: 6px;
    padding-right: 18px;
}

.is-mobile.is-ios div.workspace-leaf-content[data-type="bases"] .livesync-status {
    top: calc(
        var(--bases-header-height) + var(--header-height) + var(--view-header-height, var(--header-height)) +
            var(--size-4-2)
    );
}

.livesync-status div {
    opacity: 0.6;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}

.livesync-status .livesync-status-loghistory {
    text-align: left;
    opacity: 0.4;
}

.livesync-status div.livesync-status-messagearea:empty {
    display: none;
}

.livesync-status div.livesync-status-messagearea:not(:empty) {
    opacity: 0.6;
    color: var(--text-on-accent);
    border: 1px solid var(--background-modifier-error);
    background-color: rgba(var(--background-modifier-error-rgb), 0.2);
    -webkit-filter: unset;
    filter: unset;
    width: fit-content;
    margin-left: auto;
}

.menu-setting-poweruser-disabled .sls-setting-poweruser {
    display: none;
}

.menu-setting-advanced-disabled .sls-setting-advanced {
    display: none;
}

.menu-setting-edgecase-disabled .sls-setting-edgecase {
    display: none;
}

.sls-setting-panel-title {
    font-size: medium;
    background-color: var(--background-secondary-alt);
    border-radius: 10px;
    padding: 0.5em 1em;
}

body.is-mobile .sls-setting button {
    max-width: 100%;
    white-space: normal;
}

body.is-mobile .sls-setting-with-additional-actions {
    flex-wrap: wrap;
}

body.is-mobile .sls-setting-with-additional-actions .setting-item-control {
    min-width: 0;
    flex: 1 1 100%;
    flex-wrap: wrap;
}

body.is-mobile .sls-setting .sls-setting-additional-action {
    flex: 1 1 12rem;
}

.active-pane .sls-setting-panel-title {
    border: 1px solid var(--interactive-accent);
}

.sls-dialogue-note-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.sls-dialogue-note-countdown {
    font-size: 0.8em;
}

body.is-mobile .livesync-message-box-container {
    box-sizing: border-box;
    padding-top: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));
    padding-right: var(--safe-area-inset-right, env(safe-area-inset-right, 0px));
    padding-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));
    padding-left: var(--safe-area-inset-left, env(safe-area-inset-left, 0px));
}

body.is-mobile .livesync-message-box-container .modal {
    max-height: 100%;
}

body.is-mobile .livesync-message-box-container button {
    height: auto;
    min-height: var(--input-height);
    white-space: normal;
}

body.is-mobile .livesync-compatibility-review-notice {
    box-sizing: border-box;
    margin-right: calc(64px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)));
    min-width: 0;
    width: calc(
        100vw - 88px - var(--safe-area-inset-left, env(safe-area-inset-left, 0px)) -
            var(--safe-area-inset-right, env(safe-area-inset-right, 0px))
    );
}

.sls-qr {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: max-content;
}

.sls-keypair pre {
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-all;
}

.sls-repair-results {
    display: grid;
    gap: var(--size-4-3);
}

.sls-repair-result {
    padding: var(--size-4-3);
    border: 1px solid var(--background-modifier-border);
    border-radius: var(--radius-m);
    background: var(--background-secondary);
}

.sls-repair-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--size-4-2);
    min-width: 0;
}

.sls-repair-header > :first-child {
    flex: 1 1 auto;
    min-width: 0;
}

.sls-repair-header h6 {
    margin: 0;
    overflow-wrap: anywhere;
}

.sls-repair-status {
    display: flex;
    flex-wrap: wrap;
    gap: var(--size-4-2);
    margin-top: var(--size-4-1);
    font-size: var(--font-ui-smaller);
}

.sls-repair-status-ok {
    color: var(--text-success);
}

.sls-repair-status-warning {
    color: var(--text-warning);
}

.sls-repair-metric {
    margin-top: var(--size-4-1);
    font-size: var(--font-ui-smaller);
    line-height: var(--line-height-tight);
    overflow-wrap: anywhere;
}

.sls-repair-action-menu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--clickable-icon-size);
    width: var(--clickable-icon-size);
    height: var(--clickable-icon-size);
    padding: 0;
}

.sls-repair-action-menu .svg-icon {
    width: 18px;
    height: 18px;
}

.sls-repair-revision {
    margin-top: var(--size-4-2);
    padding: var(--size-4-2);
    border-left: 3px solid var(--background-modifier-border);
    background: var(--background-primary-alt);
}

.sls-repair-revision-title {
    font-weight: var(--font-semibold);
    overflow-wrap: anywhere;
}

.sls-repair-revision code {
    display: block;
    margin-top: var(--size-4-1);
    overflow-wrap: anywhere;
    white-space: normal;
}

.sls-repair-ancestor-warning {
    margin-top: var(--size-4-2);
    color: var(--text-warning);
}

/* Diff navigation */
.diff-options-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.diff-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
}

.diff-nav-btn {
    padding: 2px 8px;
    font-size: 0.85em;
    cursor: pointer;
    border: 1px solid var(--background-modifier-border);
    border-radius: 4px;
    background-color: var(--background-secondary);
    color: var(--text-normal);
}

.diff-nav-btn:hover {
    background-color: var(--background-modifier-hover);
}

.diff-nav-indicator {
    font-size: 0.85em;
    color: var(--text-muted);
    min-width: 3em;
    text-align: center;
}

.diff-only-label {
    margin-left: 10px;
}

.history-search-row {
    display: flex;
    gap: 5px;
    align-items: center;
    margin-bottom: 10px;
}

.history-search-input {
    flex-grow: 1;
}

.history-search-result-indicator {
    font-size: 0.8em;
    min-width: 80px;
}

.history-search-progress-indicator {
    font-size: 0.8em;
    color: var(--text-muted);
}

.history-search-row button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.history-rev-nav-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.history-rev-nav-row input[type="range"] {
    flex-grow: 1;
    margin-bottom: 0;
}

.history-rev-nav-btn {
    flex-shrink: 0;
    padding: 2px 10px;
    font-size: 0.9em;
    cursor: pointer;
    border: 1px solid var(--background-modifier-border);
    border-radius: 4px;
    background-color: var(--background-secondary);
    color: var(--text-normal);
}

.history-rev-nav-btn:hover:not(:disabled) {
    background-color: var(--background-modifier-hover);
}

.history-rev-nav-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.history-rev-indicator {
    flex-shrink: 0;
    font-size: 0.85em;
    color: var(--text-muted);
    min-width: 4.5em;
    text-align: right;
}

.history-diff-options-row {
    justify-content: space-between;
}

.history-highlight-diff-container,
.history-highlight-diff-label {
    display: flex;
    align-items: center;
}

.history-highlight-diff-label {
    gap: 4px;
}

.diff-focused {
    outline: 2px solid var(--interactive-accent);
    outline-offset: 1px;
    border-radius: 2px;
}
