.ls-stage { cursor: zoom-in; }
.ls-stage.is-full { cursor: default; }
.ls-stage:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.ls-pause { position: absolute; left: 12px; bottom: 12px; z-index: 5; display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 999px; border: 0;
  background: rgba(20, 22, 28, .72); color: #fff; cursor: pointer; padding: 0; }
.ls-pause svg { width: 20px; height: 20px; }
.is-full .ls-pause { opacity: 0; transition: opacity .3s; }
.is-full:not(.st-idle) .ls-pause, .is-full .ls-pause:focus-visible { opacity: .85; }
.ls-msg { margin-top: 14px; }
.ls-msg textarea { width: 100%; box-sizing: border-box; margin-top: 6px; font: inherit; font-size: 1.05rem; line-height: 1.45; color: var(--ink); background: var(--field);
  border: 1px solid var(--field-border); border-radius: 10px; padding: 10px 12px; resize: vertical; }
.ls-emoji { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ls-emoji button { font-size: 1.2rem; line-height: 1; width: 42px; height: 40px; border-radius: 10px; border: 1px solid var(--field-border); background: var(--field); cursor: pointer; padding: 0; }
.ls-share { align-items: center; margin-top: 12px; }
.ls-share .hint { margin: 0; flex: 1 1 220px; overflow-wrap: anywhere; }
.ls-sws { display: grid; gap: 10px; }
.ls-colors { display: grid; grid-template-columns: auto 52px auto 52px; gap: 8px 10px; align-items: center; margin-top: 10px; }
.ls-colors input[type="color"] { width: 52px; height: 40px; padding: 0; border: 1px solid var(--field-border); border-radius: 10px; background: none; cursor: pointer; }
.panel [hidden] { display: none !important; }
@media (max-width: 420px) { .ls-stage .fs-btn span { display: none; } }
@media (prefers-reduced-motion: reduce) { .is-full .ls-pause { transition: none; } }
