/* Новинки kie (generate.js nm*): плашки музыки, подсказки видео/голоса, маска, слои — «Тёплая сцена» */
.nm-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.nm-tile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-height: 118px; padding: 12px; border-radius: 18px; text-align: left; cursor: pointer; color: #fbf1de; font: inherit;
  border: 1.5px solid rgba(242,196,109,.32); background: radial-gradient(120% 90% at 0 0, rgba(122,36,51,.55), transparent 70%), rgba(255,238,208,.05); }
.nm-tile.is-on { border-color: #f2c46d; box-shadow: 0 0 0 2px rgba(242,196,109,.45) inset; }
.nm-tile-ic { font-size: 30px; line-height: 1; }
.nm-tile-tx { display: flex; flex-direction: column; gap: 3px; }
.nm-tile-tx b { font-size: 17px; line-height: 1.2; }
.nm-tile-tx small { font-size: 14px; color: #e9dcc6; line-height: 1.25; }
.nm-tile-tx i { font-style: normal; font-size: 14px; color: #cbb89c; }
.nm-tile .new-badge, .nm-tile [class*="badge"] { position: absolute; top: 8px; right: 8px; }
.nm-box { margin: 6px 0 12px; padding: 12px 14px; border-radius: 16px; background: rgba(255,238,208,.06); border: 1.5px solid rgba(242,196,109,.28); color: #fbf1de; }
.nm-tip { font-size: 15px; line-height: 1.4; margin: 0; }
.nm-rec { display: block; width: 100%; min-height: 54px; margin-top: 10px; border-radius: 16px; border: 0; background: linear-gradient(160deg, #f7d58c, #e2a94a); color: #2a1408; font: inherit; font-size: 18px; font-weight: 800; cursor: pointer; }
.nm-rec.is-on { background: rgba(240,100,90,.9); color: #fff; animation: nm-pulse 1.2s ease-in-out infinite; }
@keyframes nm-pulse { 50% { box-shadow: 0 0 0 6px rgba(240,100,90,.25); } }
.nm-bad { margin: 10px 0 0; font-size: 15px; color: #ffb3ad; line-height: 1.35; }
.nm-ok { margin: 10px 0 0; font-size: 15px; color: #b7e4a8; }
.nm-mask { margin: 10px 0 12px; padding: 12px; border-radius: 16px; background: rgba(255,238,208,.06); border: 1.5px solid rgba(242,196,109,.3); }
.nm-mask-title { margin: 0 0 8px; font-size: 16px; font-weight: 700; color: #fbf1de; }
.nm-mask-stage { position: relative; width: 100%; border-radius: 12px; overflow: hidden; touch-action: none; background: #000; }
.nm-mask-stage img { display: block; width: 100%; height: auto; user-select: none; -webkit-user-drag: none; }
.nm-mask-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; touch-action: none; cursor: crosshair; }
.nm-mask-row { display: flex; gap: 8px; margin-top: 8px; }
.nm-mask-btn { flex: 1; min-height: 46px; border-radius: 14px; border: 1.5px solid rgba(242,196,109,.35); background: transparent; color: #f2c46d; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.nm-mask-btn.is-on { background: linear-gradient(160deg, #f7d58c, #e2a94a); color: #2a1408; border-color: transparent; }
.nm-mask-btn:disabled { opacity: .45; }
.nm-layers-lead { margin: 0 0 4px; font-size: 15px; color: #cbb89c; }
.nm-layer { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 16px; border: 1px solid rgba(242,196,109,.25); background: rgba(255,238,208,.05); }
.nm-layer-pic { flex: none; width: 64px; height: 64px; border-radius: 12px; overflow: hidden;
  background: repeating-conic-gradient(#3a2a2c 0% 25%, #241619 0% 50%) 50% / 16px 16px; }
.nm-layer-pic img { width: 100%; height: 100%; object-fit: contain; display: block; }
.nm-layer-name { flex: 1; min-width: 0; font-size: 16px; font-weight: 700; color: #fbf1de; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nm-layer-dl { flex: none; min-height: 46px; padding: 0 14px; border-radius: 14px; border: 0; background: linear-gradient(160deg, #f7d58c, #e2a94a); color: #2a1408; font: inherit; font-size: 15px; font-weight: 800; cursor: pointer; }
.nm-layers { max-height: 86vh; overflow-y: auto; }
/* В сетке параметров — во всю ширину */
.params-form .nm-mask, .params-form .nm-box, .params-form .nm-tiles { grid-column: 1 / -1; width: 100%; box-sizing: border-box; }
.nm-mask, .nm-box { width: 100%; box-sizing: border-box; }
