/* Ввод текста надписи (ui/story-write.js) и панель инструментов
   под ним (ui/story-kit.js): шрифт, цвет, выравнивание. Полупрозрачный
   фон — сквозь него видна сама сцена сборки под шторкой, тем и удобен
   живой предпросмотр. Литералы цвета — только themes.css. */

.story-write {
  position: fixed;
  inset: 0;
  z-index: 32;
  display: flex;
  flex-direction: column;
  background: var(--veil);
}

.story-write__head {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
}

.story-write__x,
.story-write__trash {
  display: grid;
  place-items: center;
  width: var(--sp-10);
  height: var(--sp-10);
  margin-right: auto;
  border: none;
  border-radius: 50%;
  background: var(--veil);
  color: var(--on-badge);
}

.story-write__trash { margin-right: 0; color: var(--danger); }

.story-write__x .icon,
.story-write__trash .icon { width: var(--fs-md); height: var(--fs-md); }

.story-write__done {
  border: none;
  border-radius: var(--r-md);
  padding: var(--sp-2) var(--sp-4);
  background: var(--accent);
  color: var(--on-accent);
  font-weight: 700;
}

/* Та же пропорция, что у рамки коллажа (components/story-new.css:
   .story-new__frame) — от неё же в ui/story-write.js считают кегль
   и ширину блока. Ширина — auto, не процент: с обоими продиктованными
   размерами aspect-ratio не смог бы подогнать под 9:16 ни один. */
.story-write__field {
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  aspect-ratio: 9 / 16;
  max-width: min(100%, calc((100vh - 20cqw) * 9 / 16));
  margin: 0 auto;
}

.story-write__area {
  width: 100%;
  max-height: 60cqh;
  background: none;
  border: none;
  outline: none;
  resize: none;
  overflow: hidden;
  line-height: 1.2;
  text-shadow: 0 .2cqw 1cqw var(--card-veil);
}

.story-write__area::placeholder { color: var(--card-dim); }

.story-write__kit { padding: var(--sp-3) var(--sp-4) var(--sp-6); }

.story-kit__row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-5);
}

.story-kit__tool {
  display: grid;
  place-items: center;
  width: var(--sp-10);
  height: var(--sp-10);
  border: none;
  border-radius: 50%;
  background: var(--veil);
  color: var(--on-badge);
}

.story-kit__tool .icon { width: var(--fs-md); height: var(--fs-md); }

.story-kit__dot {
  width: var(--sp-6);
  height: var(--sp-6);
  border-radius: 50%;
  border: 2px solid var(--on-badge);
}

.story-kit__fonts {
  display: flex;
  justify-content: center;
  gap: var(--sp-2);
  margin-top: var(--sp-4);
  overflow-x: auto;
  scrollbar-width: none;
}

.story-kit__fonts[hidden] { display: none; }
.story-kit__fonts::-webkit-scrollbar { display: none; }

.story-kit__font {
  flex: none;
  min-width: var(--sp-12);
  height: var(--sp-10);
  padding: 0 var(--sp-3);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--surface);
  color: var(--text);
  font-size: var(--fs-md);
}

.story-kit__font.is-on {
  border-color: var(--accent);
  color: var(--accent-text);
}
