/* Сборка истории (ui/story-new.js): раскладка коллажа, ячейки
   с кадрами, границы между ними. Литералы цвета — только
   themes.css. */

.story-new {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: flex;
  flex-direction: column;
  background: var(--bg-app);
}

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

.story-new__close,
.story-new__undo {
  display: grid;
  place-items: center;
  width: var(--sp-10);
  height: var(--sp-10);
  border: none;
  border-radius: 50%;
  background: var(--surface-2);
  color: var(--text);
}

.story-new__undo:disabled { opacity: .4; }

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

.story-new__title {
  flex: 1;
  text-align: center;
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--text);
}

.story-new__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;
}

.story-new__done:disabled { opacity: .4; }

.story-new__stage {
  position: relative;
  flex: 1;
  margin: 0 auto;
  width: 100%;
  max-width: calc((100vh - 20cqw) * 9 / 16);
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: var(--surface-2);
  touch-action: none;
}

.story-cell {
  position: absolute;
  overflow: hidden;
  border: 1px solid var(--bg-app);
}

.story-cell--empty { background: var(--surface); }

.story-cell__shot {
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: none;
}

/* Задник под кадром, вписанным целиком (не заполняющим ячейку):
   та же картинка, увеличенная и размытая, закрывает пустоту вокруг
   вместо неё (ui/story-new.js: paintCell). */
.story-cell__back {
  position: absolute;
  inset: -6%;
  max-width: none;
  object-fit: cover;
  filter: blur(6cqw) brightness(.72);
}

.story-bar {
  position: absolute;
  z-index: 1;
}

.story-bar--y {
  height: var(--sp-6);
  translate: 0 -50%;
  cursor: row-resize;
}

.story-bar--x {
  width: var(--sp-6);
  translate: -50% 0;
  cursor: col-resize;
}

.story-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  background: var(--on-badge);
  border-radius: var(--r-sm);
}

.story-bar--y::after { width: var(--sp-8); height: 2px; }
.story-bar--x::after { width: 2px; height: var(--sp-8); }

.story-new__foot {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
}

.story-new__layouts {
  flex: 1;
  display: flex;
  gap: var(--sp-2);
  overflow-x: auto;
  scrollbar-width: none;
}

.story-new__layouts::-webkit-scrollbar { display: none; }

.story-new__layout {
  display: grid;
  place-items: center;
  flex: none;
  width: var(--sp-10);
  height: var(--sp-10);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--surface);
  color: var(--text-dim);
}

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

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

.story-new__add {
  display: grid;
  place-items: center;
  flex: none;
  width: var(--sp-10);
  height: var(--sp-10);
  border: 1px dashed var(--line);
  border-radius: 50%;
  background: none;
  color: var(--text-faint);
}

.story-new__add:disabled { opacity: .4; }
.story-new__add .icon { width: var(--fs-md); height: var(--fs-md); }
