.forum-form .card-container {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.forum input:focus,
.forum textarea:focus,
.forum [contenteditable]:focus {
    filter: none;
    outline: 1px solid transparent;
    transition: none;
}

.forum-form__label {
    color: var(--text-secondary);
    font-size: var(--font-size-s);
}

.forum-form input[type="text"],
.forum-form input[type="number"],
.forum-admin__field input[type="text"],
.forum-admin__field input[type="number"] {
    width: 100%;
    height: var(--input-height, 2.75rem);
    padding-inline: 0.875rem;
    border: 1px solid transparent;
    border-radius: var(--br-10, 10px);
    background: var(--input-form, var(--transparent-4-w));
    color: var(--text-default);
    font-size: var(--font-size-s);
    transition: none;
}

.forum-form input[type="text"]:focus,
.forum-form input[type="number"]:focus,
.forum-admin__field input[type="text"]:focus,
.forum-admin__field input[type="number"]:focus {
    border-color: var(--span-half);
    outline: none;
}

.forum-select {
    margin-bottom: 0;
}

.forum-select .adaptive-select {
    min-height: var(--input-height, 2.75rem);
    border-radius: var(--br-10, 10px);
    background: var(--input-form, var(--transparent-4-w));
    color: var(--text-default);
}

.forum-select .adaptive-select__dropdown-list {
    max-width: 100%;
}

.forum-form__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
}

[data-reply-form] > [data-editor] + .forum-form__footer {
    margin-top: 0.75rem;
}

.forum-form__counter.is-over {
    color: var(--red);
}

.forum-form__counter {
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
    font-variant-numeric: tabular-nums;
}

.forum-editor {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--transparent-4-w);
    border-radius: var(--br-12);
    background: var(--transparent-2-w);
    overflow: hidden;
}

.forum-editor:focus-within {
    border-color: var(--span-half);
}

.forum-editor.is-dragover {
    border-color: var(--span);
}

.forum-editor__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.125rem;
    padding: 0.375rem 0.5rem;
    border-bottom: 1px solid var(--transparent-4-w);
}

.forum-editor__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.125rem;
    height: 2.125rem;
    padding: 0;
    border: 0;
    border-radius: var(--br-8);
    background: transparent;
    color: var(--text-custom);
    cursor: pointer;
    transition: background var(--transition-duration, 0.25s), color var(--transition-duration, 0.25s);
}

.forum-editor__btn:hover {
    background: var(--span-10);
    color: var(--span);
}

.forum-editor__btn svg {
    width: 0.9375rem;
    height: 0.9375rem;
    fill: currentColor;
}

.forum-editor__glyph {
    font-size: var(--font-size-s);
    line-height: 1;
}

.forum-editor__glyph--b {
    font-weight: var(--font-weight-8);
}

.forum-editor__glyph--i {
    font-style: italic;
    font-family: var(--font-family-1);
}

.forum-editor__glyph--u {
    text-decoration: underline;
}

.forum-editor__glyph--s {
    text-decoration: line-through;
}

.forum-editor__glyph--exit {
    font-size: var(--font-size-m);
    font-weight: var(--font-weight-7);
}

.forum-editor__divider {
    width: 1px;
    height: 1.25rem;
    margin-inline: 0.25rem;
    background: var(--transparent-4-w);
}

.forum-editor__input {
    width: 100%;
    min-height: 9rem;
    max-height: 30rem;
    padding: 0.875rem 1rem;
    border: 0;
    background: transparent;
    color: var(--text-default);
    font-family: var(--font-family-2);
    font-size: var(--font-size-m);
    line-height: 1.65;
    outline: none;
    overflow-y: auto;
    word-break: break-word;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.forum-editor__input.is-empty::before {
    content: attr(data-placeholder);
    color: var(--text-secondary);
    pointer-events: none;
}

.forum-editor__input .forum-quote,
.forum-editor__input .forum-code,
.forum-editor__input .forum-spoiler {
    margin-block: 0.5rem;
}

.forum-editor__input .forum-image {
    max-height: 16rem;
}

.forum-editor__input .forum-spoiler summary,
.forum-editor__input .forum-quote cite {
    -webkit-user-select: none;
    user-select: none;
}

.forum-editor__uploading {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.5rem;
    border-radius: var(--br-8, 8px);
    background: var(--transparent-4-w);
    color: var(--text-secondary);
    font-size: var(--font-size-xs);
}

.forum-editor__footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0.375rem 0.75rem;
    border-top: 1px solid var(--transparent-4-w);
}

.forum-editor--inline {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.forum-upload-pending {
    position: relative;
}

.forum-upload-pending::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 2px;
    width: 35%;
    border-radius: var(--br-4, 4px);
    background: var(--span);
    animation: forum-upload 1.1s ease-in-out infinite;
}

@keyframes forum-upload {
    0% {
        left: 0;
        width: 15%;
    }

    50% {
        left: 40%;
        width: 40%;
    }

    100% {
        left: 100%;
        width: 15%;
    }
}

.forum-editor__input .is-picked {
    outline: 2px solid var(--span);
    outline-offset: 2px;
    border-radius: var(--br-10, 10px);
}

.forum-editor__input .is-picked::selection,
.forum-editor__input .is-picked *::selection {
    background: transparent;
}

.forum-editor__input .forum-code {
    width: 100%;
    cursor: text;
}

.forum-editor__input .forum-code code {
    min-height: 1.4em;
    caret-color: var(--text-default);
}

.forum-editor__draft-action {
    display: inline;
    height: auto;
    min-height: 0;
    margin-left: 0.25rem;
    padding: 0 0 1px;
    border: 0;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    background: none !important;
    box-shadow: none !important;
    color: var(--span) !important;
    font: inherit;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-6);
    line-height: 1.2;
    text-decoration: none !important;
    cursor: pointer;
    transition: border-color var(--transition-duration, 0.25s);
}

.forum-editor__draft-action:hover,
.forum-editor__draft-action:focus-visible {
    border-bottom-color: currentColor;
    outline: none;
}

.forum-editor__draft-action--danger {
    color: var(--red) !important;
}

.forum-editor__input .forum-spoiler > div + div {
    padding-top: 0;
}

.forum-editor__input .forum-spoiler > div:has(+ div) {
    padding-bottom: 0;
}

.forum-editor__input .forum-spoiler > div + div > :is(.forum-spoiler, .forum-quote, .forum-code):first-child,
.forum-editor__input .forum-quote > div + div > :is(.forum-spoiler, .forum-quote, .forum-code):first-child {
    margin-top: 0.5rem;
}
