/* =============================================================================
FORMATING MENU
============================================================================= */
.menu {
  position: absolute;
  top: -45px;
  left: 0;
  width: 100%;
  display: none;
  background: white;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 5px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
  transition: opacity 0.2s, transform 0.2s;
  z-index: 100;
}

.menu.active {
  display: flex;
  animation: fadeIn 0.2s;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* =============================================================================
MENU BUTTONS
============================================================================= */
.menu button {
  background: none;
  border: none;
  padding: 5px 10px;
  cursor: pointer;
  font-size: 16px;
  color: #333;
  border-radius: 5px;
}

.menu button:hover {
  background-color: #d3d3d3;
}

.menu .separator {
  width: 1px;
  height: 24px;
  background-color: #d3d3d3;
  margin: 0 5px;
}
/* =============================================================================
FORMATTING STYLES
============================================================================= */
.editor b,
.chat-box b {
  font-weight: bold;
}

.editor i,
.chat-box i {
  font-style: italic;
}

.editor u,
.chat-box u {
  text-decoration: underline;
}

.editor s,
.chat-box s {
  text-decoration: line-through;
}

.editor mark,
.chat-box mark {
  background-color: #ffe817;
  padding: 0 2px;
}

.editor .spoiler,
.chat-box .spoiler {
  background-color: #000;
  color: #000;
  padding: 0 2px;
  cursor: pointer;
  transition: color 0.2s;
  user-select: none;
}

.editor .spoiler.revealed,
.chat-box .spoiler.revealed {
  color: #fff;
}

.editor code,
.chat-box code {
  display: inline-block;
  font-family: monospace;
  background-color: #d7d7d7;
  padding: 0 3px;
  border-radius: 5px;
}

.editor a,
.chat-box a {
  color: #0366d6;
  text-decoration: underline;
}

.editor a:hover,
.chat-box a:hover {
  text-decoration: none;
}
/* =============================================================================
SINGLE_LINE QUOTE (q)
============================================================================= */
.editor q,
.chat-box q {
  position: relative;
  display: inline-block;
  margin: 0.75em 0;
  padding: 0.5em 2em 0.5em 0.5em;
  border-left: 5px solid #333;
  border-radius: 10px;
  background-color: #c1f9f9;
  color: #000;
  font-style: italic;
  overflow: hidden;
  z-index: 0;
}

.editor q::before,
.chat-box q::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('../../images/quote.svg');
  background-repeat: repeat;
  opacity: 0.2;
  z-index: -1;
}

.editor q > *,
.chat-box q > * {
  position: relative;
  z-index: 1;
}

.editor q::after,
.chat-box q::after {
  content: '”';
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  font-size: 2em;
  color: #fff;
  transform: translate(50%, -50%);
  z-index: 2;
}
/* =============================================================================
URL INPUT FORM
============================================================================= */
.url-form {
  display: none;
  flex-direction: row;
  align-items: center;
  animation: fadeIn 0.2s;
}

.url-form.active {
  display: flex;
}

.url-form input {
  flex: 1;
  padding: 5px 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  margin-right: 10px;
}

.url-buttons {
  gap: 5px;
  display: flex;
}

.confirm-btn {
  background-color: #4caf50 !important;
}

.cancel-btn {
  background-color: #f44336 !important;
}
/* ========================================================================== */
