html.lenis.lenis-smooth { scroll-behavior: auto !important; }
textarea { resize: none !important; }
:is(input:not([type="checkbox"]), textarea, select) {
  outline: 2px solid transparent;
  outline-offset: -2px;
  box-shadow: 0 0 0 1px #3986ff00, 0 0 16px #3986ff00;
  transition: border-color 220ms ease, outline-color 220ms ease, box-shadow 220ms ease;
}
:is(input:not([type="checkbox"]), textarea, select):focus {
  border-color: #3986ff;
  outline: 2px solid #3986ff;
  outline-offset: -2px;
  box-shadow: 0 0 0 1px #3986ff33, 0 0 16px #3986ff55;
}
/* 방문록은 입력창 대신 감싸는 캡슐에 같은 포커스 표시를 준다. */
#chat-body, #chat-body:focus { outline-color: transparent; box-shadow: none; }
.chat-input-row:focus-within {
  border-color: #3986ff;
  outline: 2px solid #3986ff;
  outline-offset: -2px;
  box-shadow: 0 0 0 1px #3986ff33, 0 0 16px #3986ff55;
}
@media (prefers-reduced-motion: reduce) {
  :is(input:not([type="checkbox"]), textarea, select) { transition: none; }
}
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: var(--bg); }
*::-webkit-scrollbar-thumb {
  background: #9a7db0;
  border: 2px solid var(--bg);
  border-radius: 999px;
}
*::-webkit-scrollbar-thumb:hover { background: #c1a2df; }
*::-webkit-scrollbar-corner { background: var(--bg); }
@supports not selector(::-webkit-scrollbar) {
  * { scrollbar-width: thin; scrollbar-color: #9a7db0 var(--bg); }
}
