/* CapCut-style bottom sheets: cover the lower half, preview stays visible. */
.sheet-backdrop {
  position: fixed; inset: 0; z-index: 60;
  background: rgba(0, 0, 0, 0.25);
  opacity: 0;
  transition: opacity var(--t-med) var(--ease);
}
.sheet-backdrop.show { opacity: 1; }
.sheet {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 61;
  max-height: 56%;
  display: flex; flex-direction: column;
  background: var(--panel);
  border-radius: 18px 18px 0 0;
  border-top: 1px solid var(--divider);
  padding-bottom: var(--safe-bottom);
  transform: translateY(100%);
  transition: transform var(--t-med) var(--ease);
  max-width: 720px; margin: 0 auto;
}
.sheet.tall { max-height: 80%; }
.sheet.full { max-height: none; top: var(--safe-top); border-radius: 0; }
.sheet.show { transform: none; }
.sheet-grip { width: 36px; height: 4px; border-radius: 4px; background: var(--panel-3); margin: 8px auto 0; flex: none; }
.sheet-head { display: flex; align-items: center; padding: 4px 6px; flex: none; }
.sheet-title { flex: 1; text-align: center; font-weight: 700; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sheet-head .apply { color: var(--accent); }
.sheet-body { overflow-y: auto; padding: 8px 16px 20px; -webkit-overflow-scrolling: touch; }

.menu { display: flex; flex-direction: column; }
.menu-item { display: flex; align-items: center; gap: 14px; padding: 14px 4px; font-size: 15px; border-bottom: 1px solid var(--divider); text-align: left; }
.menu-item.danger { color: var(--danger); }
.confirm p { color: var(--text-2); line-height: 1.5; margin-top: 0; }
.confirm-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 16px; }
