/* Эскиз лирик-снипета: поверх общих стилей конструктора лирик-видео
   (/lyric-video/style.css) — своё видео в кадре 9:16, зоны приложений, подгонка. */
.sn-frame{--t1:#fff;--t2:#000;--safe-top:9%;--safe-bottom:20%;--safe-rx:86%;--safe-ry:42%;--safe-rh:43%;--arw:9;--arh:16;user-select:none}
.sn-frame .frame-bg{background:radial-gradient(120% 70% at 30% 20%,#2c2440,transparent 60%),radial-gradient(90% 80% at 80% 100%,#3a1626,transparent 55%),#0d0c11}
.sn-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.sn-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12%;text-align:center;color:#d8d4e0;pointer-events:none}
.sn-empty b{font-size:max(11px,3.6cqmin)}
.sn-empty span{font-size:max(10px,2.8cqmin);opacity:.75}
.sn-figure{position:absolute;left:28%;right:28%;top:24%;bottom:14%;border:1.5px dashed #ffffff26;border-radius:46% 46% 18% 18%/30% 30% 10% 10%;pointer-events:none}
.sn-safe{position:absolute;inset:0;pointer-events:none}
.sn-safe>div{position:absolute;background:repeating-linear-gradient(135deg,#ffffff1c 0 6px,#ffffff08 6px 12px);border:1px solid #ffffff22;display:flex;align-items:center;justify-content:center}
.sn-safe span{font-size:max(9px,2.3cqmin);color:#fff;opacity:.8;text-shadow:0 1px 4px #000;padding:2px 6px;text-align:center}
.sn-safe-top{left:0;right:0;top:0;height:var(--safe-top)}
.sn-safe-bottom{left:0;right:0;bottom:0;height:var(--safe-bottom)}
.sn-safe-right{left:var(--safe-rx);right:0;top:var(--safe-ry);height:var(--safe-rh)}
.sn-safe-right span{writing-mode:vertical-rl}
.sn-frame .zone{z-index:2}
.sn-frame .zone-text{font-size:clamp(10px,6cqmin,46px)}
.sn-frame[data-pal=on] .zone-text{color:var(--t1);text-shadow:0 0 10px color-mix(in srgb,var(--t2) 70%,transparent),0 2px 10px #000a}
.sn-frame[data-font=serif] .zone-text{font-family:LvSerif,serif}
.sn-frame[data-font=hand] .zone-text{font-family:LvHand,cursive}
.sn-frame[data-font=poster] .zone-text{font-family:LvPoster,sans-serif;text-transform:uppercase}
.sn-frame[data-font=retro] .zone-text{font-family:LvRetro,sans-serif}
.sn-frame[data-font=sans] .zone-text{font-family:LvSans,Inter,sans-serif}
.sn-frame.fitting{cursor:grab;outline:2px solid var(--focus);outline-offset:2px}
.sn-frame.fitting .zone{pointer-events:none;opacity:.55}
.sn-platforms button{min-width:72px}
.sn-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--soft);cursor:pointer}
.sn-check input{accent-color:var(--accent);width:16px;height:16px}
.sn-warn{color:#ffb4c6}
.sn-fit{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:10px 0 4px}
.sn-range{display:flex;align-items:center;gap:10px;margin:0;flex:1 1 200px}
.sn-range input{flex:1;accent-color:var(--accent)}
.sn-range output{min-width:44px;font-size:12px;color:var(--soft);font-variant-numeric:tabular-nums}
.sn-progress{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}
.sn-progress .bar{height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}
.sn-progress .bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}
.sn-progress span{font-size:12px;color:var(--soft)}
