.tg-composer__form {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  position: relative;
  z-index: 1;
}

.tg-composer__field {
  display: grid;
  gap: .45rem;
  margin: 0;
  min-width: 0;
}

.tg-composer__label {
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #4e6252;
}

.tg-composer__hint {
  margin: .25rem 0 0;
  color: #6a7367;
  font-size: .82rem;
}

.tg-composer__form textarea.input-field {
  min-height: 7.25rem;
  resize: none;
  margin-bottom: 0;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(84, 106, 80, .14);
  border-radius: 1.2rem;
  background: rgba(255, 255, 255, .94);
  box-shadow: none;
  color: #253728;
  line-height: 1.6;
}

.tg-composer__form textarea.input-field:focus, .tg-composer__visibility .input-field:focus {
  border-color: rgba(84, 106, 80, .3);
  box-shadow: none;
  outline: none;
}

.tg-composer__form textarea.input-field::placeholder { color: var(--app-placeholder-text); }

.tg-composer__media-preview {
  margin: 0;
  position: relative;
  z-index: 1;
}

.tg-composer__upload-progress {
  width: 100%;
  height: .5rem;
  margin: .25rem 0 0;
  border: 0;
  border-radius: 999px;
  overflow: hidden;
}

.tg-composer__upload-progress::-webkit-progress-bar {
  background: rgba(117, 140, 110, .2);
}

.tg-composer__upload-progress::-webkit-progress-value {
  background: linear-gradient(90deg, #6f9468, #4d6f48);
}

.tg-composer__upload-progress::-moz-progress-bar {
  background: linear-gradient(90deg, #6f9468, #4d6f48);
}

.tg-composer__media-grid {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-bottom: .5rem;
}

.tg-composer__media-thumb {
  flex: 0 0 calc(20% - .6rem);
  max-width: calc(20% - .6rem);
  margin: 0;
}

.tg-composer__media-grid img {
  width: 100%;
  border-radius: .9rem;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

.tg-composer__media-clear {
  background: none;
  border: none;
  color: #94a3b8;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
  font-size: .85rem;
}

.tg-composer__media-clear:hover { color: #334155; }

.tg-composer__visibility {
  min-width: 0;
  position: relative;
  z-index: 1;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: none;
}

.tg-composer__visibility .input-field {
  margin: 0;
  border-radius: .95rem;
  border: 1px solid rgba(84, 106, 80, .14);
  background: rgba(255, 255, 255, .92);
}

.tg-composer__media-input {
  gap: .35rem;
  position: relative;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-bottom: 0;
}

.tg-composer__media-input span { font-weight: 600; color: #243426; }

.tg-composer__media-input small { color: #647067; }

.tg-composer__icon-button i {
  width: 1.2rem;
  height: 1.2rem;
  display: block;
  color: #111827;
}

.tg-composer__icon-button {
  min-width: 2.7rem;
  width: 2.7rem;
  height: 2.7rem;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(84, 106, 80, .14);
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  color: #475569;
  cursor: pointer;
  transition: all .15s ease;
  vertical-align: middle;
  text-decoration: none;
  display: flex;
  line-height: 0;
}

.tg-composer__button-group {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
}

.tg-composer__toggle {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-left: auto;
  font-size: .85rem;
  color: #475748;
  cursor: pointer;
}

.tg-composer__toggle input[type="checkbox"] { cursor: pointer; accent-color: #6c8f65; }

.tg-composer__toggle span { cursor: pointer; }
