.bt-stage { cursor: zoom-in; background: #000; color: #fff; transition: background-color .2s; }
.bt-stage.is-full { cursor: default; }
.bt-stage:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.bt-box { position: absolute; inset: 0; padding: 4%; box-sizing: border-box; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bt-flip { display: flex; align-items: center; justify-content: center; max-width: 100%; max-height: 100%; }
.bt-text { white-space: pre-wrap; overflow-wrap: normal; word-break: normal; text-align: center; line-height: 1.08; letter-spacing: -.01em; font-size: 40px; }
.bt-glow .bt-text { text-shadow: 0 0 .06em currentColor, 0 0 .22em currentColor; }
.bt-msg { margin-top: 14px; }
.bt-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; }
.bt-ph { margin: 12px 0 8px; }
.bt-share { align-items: center; margin-top: 12px; }
.bt-share .hint { margin: 0; flex: 1 1 220px; overflow-wrap: anywhere; }
.bt-sws { display: grid; gap: 10px; }
.bt-colors { display: grid; grid-template-columns: auto 52px auto 52px; gap: 8px 10px; align-items: center; margin-top: 10px; }
.bt-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) { .bt-stage .fs-btn span { display: none; } }
@media (prefers-reduced-motion: reduce) { .bt-stage { transition: none; } }
