@charset "UTF-8";

:root {
    --dialogs-dialog-primary-color: #007f5d;
    --dialogs-dialog-primary-hover-color: #007153;
    --dialogs-dialog-text-main-color: #181818;
    --dialogs-dialog-text-secondary-color: #262626;
    --dialogs-dialog-bg-color: #efefef;
    --dialogs-dialog-focus-bg-color: #f9fbf9;
    --dialogs-dialog-selection-color: #bbbbbb;
    --dialogs-dialog-button-bg-color: #f9f9f9;
    --dialogs-dialog-hover-bg-color: #f0f8f0;
    --dialogs-dialog-backdrop-color: #222222;
    --dialogs-dialog-focus-color: #000000;
    --dialogs-dialog-shadow-color: #888888;
}

:root.scheme-dark {
    --dialogs-dialog-primary-color: #009f67;
    --dialogs-dialog-primary-hover-color: #03c185;
    --dialogs-dialog-text-main-color: #e4e4e7;
    --dialogs-dialog-text-secondary-color: #d4d4d8;
    --dialogs-dialog-bg-color: #2b2b2b;
    --dialogs-dialog-focus-bg-color: #1e1e1e;
    --dialogs-dialog-selection-color: #444444;
    --dialogs-dialog-button-bg-color: #222222;
    --dialogs-dialog-hover-bg-color: #2a2b2a;
    --dialogs-dialog-backdrop-color: #000000;
    --dialogs-dialog-focus-color: #eeeeee;
    --dialogs-dialog-shadow-color: #111111;
}

@media (prefers-color-scheme: dark) {
    :root.scheme-default {
        --dialogs-dialog-primary-color: #009f67;
        --dialogs-dialog-primary-hover-color: #03c185;
        --dialogs-dialog-text-main-color: #e4e4e7;
        --dialogs-dialog-text-secondary-color: #d4d4d8;
        --dialogs-dialog-bg-color: #2b2b2b;
        --dialogs-dialog-focus-bg-color: #1e1e1e;
        --dialogs-dialog-selection-color: #444444;
        --dialogs-dialog-button-bg-color: #222222;
        --dialogs-dialog-hover-bg-color: #2a2b2a;
        --dialogs-dialog-backdrop-color: #000000;
        --dialogs-dialog-focus-color: #eeeeee;
        --dialogs-dialog-shadow-color: #111111;
    }
}

/* 对话框样式定义 */
main dialog.alert {
    width: min(400px, 100%);
    height: fit-content;
    margin: auto;
    padding: 0;
    border: none;
    border-radius: 6px;
    background-color: var(--dialogs-dialog-bg-color);
    box-shadow: 1px 2px 4px var(--dialogs-dialog-shadow-color);
    outline: none;
    animation: fade-in 0.12s ease;
    overscroll-behavior: contain;
}

main dialog.alert div.body {
    padding: 23px;
}

main dialog.alert:focus-visible {
    box-shadow: 1px 2px 7px var(--dialogs-dialog-shadow-color);
}

main dialog.alert::backdrop {
    background-color: var(--dialogs-dialog-backdrop-color);
    opacity: 0.3;
}

main dialog.alert h2 {
    margin: 0 0 12px;
    font-size: 23px;
    font-weight: 600;
    color: var(--dialogs-dialog-text-main-color);
}

main dialog.alert p {
    margin: 0 0 24px;
    font-size: 17px;
    color: var(--dialogs-dialog-text-secondary-color);
    line-height: 1.5;
}

main dialog.alert .buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

main dialog.alert .buttons button {
    padding: 5px 15px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.24s ease;
}

main dialog.alert .buttons button:focus-visible {
    outline: 2px solid var(--dialogs-dialog-focus-color);
    outline-offset: -2px;
}

main dialog.alert .buttons button.cancel {
    border: 1px solid var(--dialogs-dialog-primary-color);
    background-color: var(--dialogs-dialog-button-bg-color);
    color: var(--dialogs-dialog-text-main-color);
}

main dialog.alert .buttons button.cancel:hover {
    background-color: var(--dialogs-dialog-hover-bg-color);
}

main dialog.alert .buttons button.confirm {
    border: none;
    background-color: var(--dialogs-dialog-primary-color);
    color: var(--dialogs-dialog-button-bg-color);
}

main dialog.alert .buttons button.confirm:hover {
    background-color: var(--dialogs-dialog-primary-hover-color);
}

main dialog.confirm {
    width: min(400px, 100%);
    height: fit-content;
    margin: auto;
    padding: 0;
    border: none;
    border-radius: 6px;
    background-color: var(--dialogs-dialog-bg-color);
    box-shadow: 1px 2px 4px var(--dialogs-dialog-shadow-color);
    outline: none;
    animation: fade-in 0.12s ease;
    overscroll-behavior: contain;
}

main dialog.confirm div.body {
    padding: 23px;
}

main dialog.confirm:focus-visible {
    box-shadow: 1px 2px 7px var(--dialogs-dialog-shadow-color);
}

main dialog.confirm::backdrop {
    background-color: var(--dialogs-dialog-backdrop-color);
    opacity: 0.3;
}

main dialog.confirm h2 {
    margin: 0 0 12px;
    font-size: 23px;
    font-weight: 600;
    color: var(--dialogs-dialog-text-main-color);
}

main dialog.confirm p {
    margin: 0 0 24px;
    font-size: 17px;
    color: var(--dialogs-dialog-text-secondary-color);
    line-height: 1.5;
}

main dialog.confirm .buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

main dialog.confirm .buttons button {
    padding: 5px 15px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.24s ease;
}

main dialog.confirm .buttons button:focus-visible {
    outline: 2px solid var(--dialogs-dialog-focus-color);
    outline-offset: -2px;
}

main dialog.confirm .buttons .cancel {
    border: 1px solid var(--dialogs-dialog-primary-color);
    background-color: var(--dialogs-dialog-button-bg-color);
    color: var(--dialogs-dialog-text-main-color);
}

main dialog.confirm .buttons .cancel:hover {
    background-color: var(--dialogs-dialog-hover-bg-color);
}

main dialog.confirm .buttons .confirm {
    border: none;
    background-color: var(--dialogs-dialog-primary-color);
    color: var(--dialogs-dialog-button-bg-color);

}

main dialog.confirm .buttons .confirm:hover {
    background-color: var(--dialogs-dialog-primary-hover-color);
}

main dialog.input {
    width: min(420px, 100%);
    height: fit-content;
    margin: auto;
    padding: 0;
    border: none;
    border-radius: 6px;
    background-color: var(--dialogs-dialog-bg-color);
    box-shadow: 1px 2px 4px var(--dialogs-dialog-shadow-color);
    outline: none;
    animation: fade-in 0.12s ease;
    overscroll-behavior: contain;
}

main dialog.input div.body {
    padding: 23px;
}

main dialog.input:focus-visible {
    box-shadow: 1px 2px 7px var(--dialogs-dialog-shadow-color);
}

main dialog.input::backdrop {
    background-color: var(--dialogs-dialog-backdrop-color);
    opacity: 0.3;
}

main dialog.input h2 {
    margin: 0 0 12px;
    font-size: 23px;
    font-weight: 600;
    color: var(--dialogs-dialog-text-main-color);
}

main dialog.input p {
    margin: 0 0 18px;
    font-size: 17px;
    color: var(--dialogs-dialog-text-secondary-color);
    line-height: 1.5;
}

main dialog.input form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

main dialog.input form label {
    font-size: 17px;
    color: var(--dialogs-dialog-text-main-color);
}

main dialog.input form textarea {
    margin-bottom: 6px;
    padding: 10px 14px;
    font-size: 17px;
    font-family: inherit;
    line-height: 1.4em;
    border: 1px solid var(--dialogs-dialog-primary-color);
    border-radius: 4px;
    background-color: var(--dialogs-dialog-button-bg-color);
    color: var(--dialogs-dialog-text-main-color);
    outline: none;
    min-height: 96px;
    max-height: 238px;
    min-width: 100%;
    max-width: 100%;
    transition: background-color 0.24s ease;
}

main dialog.input form textarea::selection {
    background-color: var(--dialogs-dialog-selection-color);
    color: currentColor;
}

main dialog.input form textarea:focus {
    background-color: var(--dialogs-dialog-focus-bg-color);
}

main dialog.input form .buttons {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
}

main dialog.input form button {
    padding: 5px 15px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.24s ease;
    align-self: flex-end;
}

main dialog.input form button:focus-visible {
    outline: 2px solid var(--dialogs-dialog-focus-color);
    outline-offset: -2px;
}

main dialog.input form button.cancel {
    border: 1px solid var(--dialogs-dialog-primary-color);
    background-color: var(--dialogs-dialog-button-bg-color);
    color: var(--dialogs-dialog-text-main-color);
}

main dialog.input form button.submit {
    border: 1px solid var(--dialogs-dialog-primary-color);
    background-color: var(--dialogs-dialog-primary-color);
    color: var(--dialogs-dialog-button-bg-color);
}

main dialog.input form button.cancel:hover {
    background-color: var(--dialogs-dialog-hover-bg-color);
}

main dialog.input form button.submit:hover {
    background-color: var(--dialogs-dialog-primary-hover-color);
}