/* Общие тёмные контролы LivePython и LiveChatik. Требуются цвета dark-theme.css.
   Приложения дополняют размеры и специальные варианты контролов. */
input, textarea, select {
    --field-rim-width: 1px;
    --field-rim-color: var(--clr-border);
    background-color: var(--clr-back-dark);
    color: var(--clr-text-light);
    border: none !important;
    outline: none !important;
    box-shadow: 0 0 0 var(--field-rim-width) var(--field-rim-color);
    transition: box-shadow 0.1s ease;
}
input, select { line-height: 1; }

/* Состояния полей используют прежнее оформление LivePython. */
:is(input, textarea, select):hover:not(:disabled):not(:focus):not(:focus-within) {
    --field-rim-width: 1px;
    --field-rim-color: var(--clr-border-hover);
}
:is(input, textarea, select):focus {
    --field-rim-width: 2px;
    --field-rim-color: var(--clr-border-focus);
    border-radius: 2px;
}

/* Отступы и скругление нужны также движкам без нативного оформления macOS.
   WebKit подавляет box-shadow нативного select; outline сохраняет штатные стрелки. */
select {
    padding: 0.1em 0.4em;
    border-radius: 0.3em;
    outline: var(--field-rim-width) solid var(--field-rim-color) !important;
    box-shadow: none;
}

/* Кнопки, самостоятельные рамки и явный вариант без рамки. */
button { line-height: 1; color: var(--clr-text-light); display: inline-flex; align-items: center; padding: 4px 8px; border: none !important; outline: none !important; margin: 1px; box-shadow: 0 0 0 1px var(--clr-border); transition: box-shadow 0.1s ease; }
.dframe { box-shadow: 0 0 0 var(--field-rim-width, 1px) var(--field-rim-color, var(--clr-border)); }
.noborder { border: none !important; outline: none !important; box-shadow: none !important; }
