.nm-writing-text-surface-frame {
  min-width: 0;
  min-height: 0;
  position: relative;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.nm-writing-text-surface-input {
  --nm-writing-textarea-base-padding-bottom: clamp(12px, 2cqi, 20px);
  width: 100%;
  max-width: none;
  height: 100%;
  min-width: 0;
  min-height: 0;
  position: absolute;
  inset: 0 auto auto 0;
  display: block;
  margin: 0;
  padding-top: clamp(12px, 2cqi, 20px);
  padding-bottom: calc(
    var(--nm-writing-textarea-base-padding-bottom)
    + var(--nm-writing-textarea-occlusion-reserve, 0px)
  );
  padding-inline: clamp(14px, 3cqi, 28px);
  resize: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  overflow-anchor: none;
  border: 0;
  border-radius: 0;
  outline: none;
  color: #1e293b;
  background: #fff;
  box-shadow: none;
  font-family: var(--nm-writing-font-family);
  font-size: var(--nm-writing-font-size);
  line-height: 1.75;
  tab-size: 2;
}

.nm-writing-text-surface-input:focus {
  border: 0;
  box-shadow: none;
}

.nm-writing-text-surface-input:focus-visible {
  box-shadow: inset 3px 0 0 rgba(37, 99, 235, .7);
}

.nm-writing-text-surface-input::selection {
  color: #1e3a8a;
  background: #bfdbfe;
}

.nm-writing-text-surface-input:read-only {
  color: #475569;
  background: #f8fafc;
}

.nm-writing-text-surface-host.nm-writing-text-surface--vertical .nm-writing-text-surface-input {
  width: 100%;
  max-width: none;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  overflow-x: auto;
  overflow-y: hidden;
  line-height: 1.9;
}

@media (max-width: 767px) {
  .nm-writing-text-surface-input {
    font-size: max(16px, var(--nm-writing-font-size));
  }
}

html.dark .nm-writing-text-surface-frame,
html.dark .nm-writing-text-surface-input {
  background: #0f172a;
}

html.dark .nm-writing-text-surface-input {
  color: #e2e8f0;
}

html.dark .nm-writing-text-surface-input:read-only {
  color: #94a3b8;
  background: #111827;
}

html.dark .nm-writing-text-surface-input::selection {
  color: #dbeafe;
  background: #1e3a8a;
}
